Changes between Version 11 and Version 12 of KanjiROM
- Timestamp:
- Oct 18, 2015 11:09:37 PM (8 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
KanjiROM
v11 v12 1 1 == 日本語フォントROM GT20L16J1Y の使い方 == 2 2 3 [https://www.switch-science.com/catalog/1610/ 日本語フォントROM GT20L16J1Y Breakout]でも販売している日本語フォントROM「GT20L16J1Y」の詳細説明と、サンプルプログラムです。[[BR]] 4 [http://pdf.dzsc.com/99999/2011418133835134.pdf データシートもあります]が、中国語でわかりにくいのと内容に若干不足があるので補足説明をします。 3 [https://www.switch-science.com/catalog/1610/ 日本語フォントROM GT20L16J1Y Breakout]でも販売している日本語フォントROM「[http://www.genitop.com/Products/indexlist_GT20L16J1Y.html GT20L16J1Y]」の詳細説明と、サンプルプログラムです。[[BR]] 4 [http://www.genitop.com/admin/upload/20150511144125736.pdf データシートもあります]が、中国語でわかりにくいのと内容に若干不足があるので補足説明をします。 5 [http://pdf.dzsc.com/99999/2011418133835134.pdf こちらのpdf]は出所が不明ですが、上記のデータシートより一部詳しい情報が乗っています。[[BR]] 6 検索によって出てくるデータシートごとに記載内容が若干異なりますが、[[BR]] 7 本ページに記載されているROMの内容は実際の商品を用いて調べたものです。[[BR]] 8 5 9 6 10 ---- … … 10 14 === 1.全角文字 === 11 15 1文字あたり32byteの容量を持ちます。[[BR]] 12 JISXの第一水準及び第二水準の漢字に対応しています。[[BR]] 13 機種依存文字(全角1文字の「メートル」やローマ数字など)の配置はWidowsと一致しません。[[BR]] 16 JIS X 0208の第一水準及び第二水準の漢字に対応しています。[[BR]] 17 JIS X 0208に含まれない、いわゆる機種依存文字(全角1文字の「メートル」やローマ数字などの表外字)も収録されていますが、[[BR]] 18 独自のアドレスに配置されているようでJISコードと同じ変換プログラムではうまく任意の文字を読み出せませんでした。 14 19 15 20 ||番号||アドレス(10進数)||内容||説明|| … … 30 35 ||7998||255936||(空白)||↓|| 31 36 37 ====アドレスの計算式==== 38 メーカーPDFより抜粋です。一部記載ミスと思われる点を変更しています。(138463->138464)[[BR]] 39 JIS X 0208の区をMSB、点をLSBとしたときのアドレスを求めています。[[BR]] 40 アドレスは最大18bitになるので、変数の宣言は32bitで行うほうが安全です。(Arduinoのintは16bit)[[BR]] 41 42 {{{ 43 if(MSB >=1 && MSB <= 15 && LSB >=1 && LSB <= 94) 44 Address =( (MSB - 1) * 94 + (LSB - 01))*32; 45 else if(MSB >=16 && MSB <= 47 && LSB >=1 && LSB <= 94) 46 Address =( (MSB - 16) * 94 + (LSB - 1))*32+43584; 47 else if(MSB >=48 && MSB <=84 && LSB >=1 && LSB <= 94) 48 Address = ((MSB - 48) * 94 + (LSB - 1))*32+ 138464; 49 else if(MSB ==85 && LSB >=0x01 && LSB <= 94) 50 Address = ((MSB - 85) * 94 + (LSB - 1))*32+ 246944; 51 else if(MSB >=88 && MSB <=89 && LSB >=1 && LSB <= 94) 52 Address = ((MSB - 88) * 94 + (LSB - 1))*32+ 249952; 53 }}} 54 32 55 === 2.半角文字 === 33 56 一文字あたり16byteの容量を持ちます。[[BR]] … … 47 70 ||261||261680||)||↓|| 48 71 72 ====アドレスの計算式==== 73 メーカーpdfより抜粋です。ASCIIコードを与えるとアドレスを返します。[BR]] 74 75 {{{ 76 if(ASCIICODE >=0x20 && ASCIICODE <=0x7F) 77 Address =( ASCIICODE - 0x20)*16+255968; 78 }}} 79 49 80 ==== 表1 ==== 50 81 左上から順番に記録されています。「空」となっているところは空です。[[BR]] … … 65 96 こちらに記録されているアルファベットはサンセリフです。(ASCII互換の部分はセリフ体)[[BR]] 66 97 67 ||0||1||2||3||4||5||6||7||8||9|| ^||_||:||;||,||.||98 ||0||1||2||3||4||5||6||7||8||9|| ^ ||_||:||;||,||.|| 68 99 ||ー||ア||イ||ウ||エ||オ||カ||キ||ク||ケ||コ||サ||シ||ス||セ||ソ|| 69 100 ||空||タ||チ||ツ||テ||ト||ナ||ニ||ヌ||ネ||ノ||ハ||ヒ||フ||ヘ||ホ|| … … 79 110 80 111 == 通信方法 == 81 112 本製品におけるSPI通信では、MODE0またはMODE3に対応しています。[[BR]] 113 動作速度は最大30MHzです。[[BR]] 82 114 1.SPI通信で0x03を書き込みます。[[BR]] 83 2.SPI通信でデータを読みたいアドレスを8bit*3回で送ります。上位から順に送信します。右詰めです。[[BR]] 115 これによりROMがデータ読み出しモードになります。 116 2.SPI通信でデータを読みたいアドレスを8bit*3回で送ります。最下位ビット詰めです。[[BR]] 84 117 3.送ったデータにしたがってダミーデータ0x00を16回又は32回送ります。この時に受信されるデータがROMの内容です。[[BR]] 118 最初に書き込んだ0x03のモードでの説明です。0x0Bを書き込んだ際の「高速読み出しモード」ではこの通りではありません。 85 119 86 120 … … 88 122 89 123 半角または全角によって受信するデータのサイズが違います。半角は16byte、全角は32byteです。[[BR]] 90 どちらも少し変わった配列になっていますので、 データシートを御覧ください。表示先によって一工夫必要になります。[[BR]]124 どちらも少し変わった配列になっていますので、表示先によって一工夫必要になります。[[BR]] 91 125 92 126 ---- … … 359 393 「Ss」と入力してEnterを押した時の動作です。[[BR]] 360 394 [[Image(sample2.png)]] 395 396 397 ===付録=== 398 mbedのページ[https://developer.mbed.org/components/GT20L16J16Y-Japanese-font-ROM/ http://developer.mbeet.prg/...]