Changes between Version 11 and Version 12 of KanjiROM


Ignore:
Timestamp:
Oct 18, 2015 11:09:37 PM (5 years ago)
Author:
kishida
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • KanjiROM

    v11 v12  
    11== 日本語フォントROM GT20L16J1Y の使い方 ==
    22
    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
    59
    610----
     
    1014 === 1.全角文字 ===
    1115 1文字あたり32byteの容量を持ちます。[[BR]]
    12  JISXの第一水準及び第二水準の漢字に対応しています。[[BR]]
    13  機種依存文字(全角1文字の「メートル」やローマ数字など)の配置はWidowsと一致しません。[[BR]]
     16 JIS X 0208の第一水準及び第二水準の漢字に対応しています。[[BR]]
     17 JIS X 0208に含まれない、いわゆる機種依存文字(全角1文字の「メートル」やローマ数字などの表外字)も収録されていますが、[[BR]]
     18独自のアドレスに配置されているようでJISコードと同じ変換プログラムではうまく任意の文字を読み出せませんでした。
    1419
    1520 ||番号||アドレス(10進数)||内容||説明||
     
    3035 ||7998||255936||(空白)||↓||
    3136
     37 ====アドレスの計算式====
     38    メーカーPDFより抜粋です。一部記載ミスと思われる点を変更しています。(138463->138464)[[BR]]
     39    JIS X 0208の区をMSB、点をLSBとしたときのアドレスを求めています。[[BR]]
     40    アドレスは最大18bitになるので、変数の宣言は32bitで行うほうが安全です。(Arduinoのintは16bit)[[BR]]
     41
     42{{{
     43if(MSB >=1 && MSB <= 15 && LSB >=1 && LSB <= 94)
     44Address =( (MSB - 1) * 94 + (LSB - 01))*32;
     45else if(MSB >=16 && MSB <= 47 && LSB >=1 && LSB <= 94)
     46Address =( (MSB - 16) * 94 + (LSB - 1))*32+43584;
     47else if(MSB >=48 && MSB <=84 && LSB >=1 && LSB <= 94)
     48Address = ((MSB - 48) * 94 + (LSB - 1))*32+ 138464;
     49else if(MSB ==85 && LSB >=0x01 && LSB <= 94)
     50Address = ((MSB - 85) * 94 + (LSB - 1))*32+ 246944;
     51else if(MSB >=88 && MSB <=89 && LSB >=1 && LSB <= 94)
     52Address = ((MSB - 88) * 94 + (LSB - 1))*32+ 249952;
     53}}}
     54
    3255 === 2.半角文字 ===
    3356 一文字あたり16byteの容量を持ちます。[[BR]]
     
    4770 ||261||261680||)||↓||
    4871
     72 ====アドレスの計算式====
     73 メーカーpdfより抜粋です。ASCIIコードを与えるとアドレスを返します。[BR]]
     74
     75{{{
     76if(ASCIICODE >=0x20 && ASCIICODE <=0x7F)
     77Address =( ASCIICODE - 0x20)*16+255968;
     78}}}
     79
    4980 ==== 表1 ====
    5081 左上から順番に記録されています。「空」となっているところは空です。[[BR]]
     
    6596 こちらに記録されているアルファベットはサンセリフです。(ASCII互換の部分はセリフ体)[[BR]]
    6697
    67  ||0||1||2||3||4||5||6||7||8||9||^||_||:||;||,||.||
     98 ||0||1||2||3||4||5||6||7||8||9|| ^ ||_||:||;||,||.||
    6899 ||ー||ア||イ||ウ||エ||オ||カ||キ||ク||ケ||コ||サ||シ||ス||セ||ソ||
    69100 ||空||タ||チ||ツ||テ||ト||ナ||ニ||ヌ||ネ||ノ||ハ||ヒ||フ||ヘ||ホ||
     
    79110
    80111== 通信方法 ==
    81  
     112 本製品におけるSPI通信では、MODE0またはMODE3に対応しています。[[BR]]
     113 動作速度は最大30MHzです。[[BR]]
    82114 1.SPI通信で0x03を書き込みます。[[BR]]
    83  2.SPI通信でデータを読みたいアドレスを8bit*3回で送ります。上位から順に送信します。右詰めです。[[BR]]
     115  これによりROMがデータ読み出しモードになります。
     116 2.SPI通信でデータを読みたいアドレスを8bit*3回で送ります。最下位ビット詰めです。[[BR]]
    84117 3.送ったデータにしたがってダミーデータ0x00を16回又は32回送ります。この時に受信されるデータがROMの内容です。[[BR]]
     118  最初に書き込んだ0x03のモードでの説明です。0x0Bを書き込んだ際の「高速読み出しモード」ではこの通りではありません。
    85119
    86120
     
    88122
    89123 半角または全角によって受信するデータのサイズが違います。半角は16byte、全角は32byteです。[[BR]]
    90  どちらも少し変わった配列になっていますので、データシートを御覧ください。表示先によって一工夫必要になります。[[BR]]
     124 どちらも少し変わった配列になっていますので、表示先によって一工夫必要になります。[[BR]]
    91125 
    92126----
     
    359393  「Ss」と入力してEnterを押した時の動作です。[[BR]]
    360394  [[Image(sample2.png)]]
     395
     396
     397===付録===
     398mbedのページ[https://developer.mbed.org/components/GT20L16J16Y-Japanese-font-ROM/  http://developer.mbeet.prg/...]