2016年5月30日 (月)

LXDIC:テスト用の情報表示

■LXDIC:テスト用の情報表示
LXDIC Complete Version 19.3d (完備版※)
 ※完備版:実装可能な全ての機能を完備."完全版"から変更.
                                 .
●キーワード入力画面
キーコード(第1行)
 -INDEX作成情報  -入力キーコード1,2   -文字コード(カーソル位置の)
ファイル情報(下部)[Ctrl+DelでON/OFF]
 -圧縮単位         -辞書ファイル名
 -半角外字数       -半角外字ファイル名
 -全角外字数       -全角外字ファイル名
検索中の情報表示[常時ON]
 -見出し文字列の照合回数(最上部に表示)
 -検索中インデックスのブロック番号
  ファイル情報ON の時 --> ブロック番号全表示
  ファイル情報OFFの時 --> ブロック番号間引き表示(進捗状況)
  デバッグモード[Ctrl+d]の時 --> 番号表示の度に1秒間休止
                                 .
●該当項目一覧画面  [F8でON/OFF]
 -INDEX照合時間 (1/100秒単位)
 -見出し取得時間(1/100秒単位)
 -見出し表示時間(1/100秒単位)
 -INDEX照合回数
 -基本エントリ数
 -集団エントリ数
 -見出文字列照合回数  <--- 19.3dで追加
 -見出し重複件数    <--- 19.3dで追加
                                  .
●本文表示画面  [該当項目一覧画面のF8でON/OFF]
 -本文デコード時間(1/100秒単位)
 -本文表示時間    (1/100秒単位)
                                  .
表示例("give" と "[P]give" は異なる項目.本文アドレスが異なる)
Lxd193d1
                                  .
[HP200LX/LXDIC]

|

2016年5月29日 (日)

LXDIC 19.3

■LXDIC 19.3
項目の重複チェックに,見出文字列の照合による方法を追加
                                   .
●設定方法
・設定ファイル(LXDIC.INI)に,起動時の状態を指定できる.
(設定)   (チェックに用いるデータ)
 '1'  ===> 本文アドレス               [デフォルト]
 '2'  ===> 本文アドレス + 見出アドレス 
 '3'  ===> 本文アドレス + 見出アドレス + 見出文字列
                                   .
・該当項目一覧画面で設定変更する.
 F7キーで切替操作: [check1] --> [check2] --> [check3]
  ※設定変更は,次回からの検索結果に反映される.
                                   .
●同一項目と見なす条件
1:本文アドレスが一致する.
2:本文アドレス及び見出アドレスが一致する.
3:本文アドレス及び見出文字列が一致する.
                                   .
●チェック方法の特徴
1:複数の見出しを持つ項目があっても,1つしか表示できない.(欠落あり)
2:見出/本文が同一の項目が,重複して現われる事がある.  (重複あり)
  ※見出しアドレスが異なっても,同一文字列の場合がある.
3:見出しに重複および欠落がなく,最も好ましい結果となる.(過不足なし)
  (サイズの大きな辞書では,辞書の再構成が必要)
                                   .
●方法の選択
・見出しの重複を許さない.本文の重複を許さない. ==> 方法1[項目数最小]
・見出しの重複を許さない.本文の重複は許す.   ==> 方法3[項目数中間]
・見出しの重複を許す.  本文の重複を許す.   ==> 方法2[項目数最大]

[HP200LX/LXDIC]

|

2016年5月27日 (金)

LXDIC::重複チェック法の比較テスト

■重複チェック法の比較テスト
項目の重複チェック方法の比較する.
                                   .
テストするチェック方法
1.本文アドレス でチェック.
  各項目は,必ず異なる本文を参照する.
  (外見的にも,実質的にも,重複はない)
2.本文アドレス+見出アドレス でチェック.
  同じ見出しの項目が複数現われ,同一の本文を参照することがある.
  (外見的にも,実質的にも,重複がある)
3.本文アドレス+見出アドレス+見出文字列 でチェック.
  異なる見出しの複数項目が,同一の本文を参照することがある.
  (外見的な重複はないが,実質的な重複がある)
                                   .
                                   .
●テスト検索
リーダーズ英和辞典:"giv"
1.本文アドレス [check1]
"give"が欠落しているように見えるが,実は2行目が"give"
Lxd1933
                                   .
2.本文アドレス+見出アドレス [check2]
1行目と3行目が重複. "give"は表示される.([P]マークはプラスの項目)
Lxd1934  
                                   .
3.本文アドレス+見出アドレス+見出文字列 [check3]
外見上の重複や欠落はなくなる.(実際は2,3行目は同じ項目)
<オリジナルの辞書構成>検索時間=3.85秒
Lxd1931
<見出し再配置後の辞書>検索時間=1.10秒    [remake適用後]
Lxd193b1
                                   .
                                   .
●結論
方法1:複数の見出しを持つ項目があっても,1つしか表示できない.(欠落あり)
方法2:見出/本文が同一の項目が,重複して現われる事がある.  (重複あり)
方法3:見出しに重複および欠落がなく,最も好ましい結果となる. (過不足なし)
    サイズの大きな辞書では検索時間が大幅に増大するが,辞書の
    再構成により見出しを辞書の先頭部に配置すれば,検索時間は
    大幅に短縮される.(実用上の問題は軽減される)
                                   .
[HP200LX/LXDIC]

|

2016年5月25日 (水)

LXDIC 19.2b

■LXDIC 19.2b
項目の重複チェック方法を選択できるようにする.(暫定)
1.本文アドレスだけでチェック.
  各項目は,必ず異なる本文を参照する.(本文重複なし)
2.本文アドレスと見出アドレスの両方でチェック.
  複数の項目が,同じ本文を参照することがある.(本文重複あり)
                                   .
●設定方法
・設定ファイル(LXDIC.INI)で,起動時の状態を指定できる.
 '1'   ===> 本文アドレス          (デフォルト)
 '2'   ===> 本文アドレス + 見出アドレス
                                   .
・該当項目一覧画面で設定変更する.(Fキーの空きがある)
 F7キーで切替操作: [chk:h] <--> [chk:h&t]
  ※設定結果を反映させるには,再度,検索を実行する必要がある.
                                   .
●理化学辞典での検索例 "ふぁんでる"
本文アドレスと見出アドレスで重複チェック  [chk:h&t]
Lxd192a1  
本文アドレスのみで重複チェック  [chk:h]
Lxd192a2  
                                   .
                                   .
●参考データ
[理化学辞典の前方一致検索インデックスの該当箇所]
※最初の8件は同じ本文アドレス.見出アドレスは異なるが,見出しの内容は同一.
 このような辞書では,本文アドレスでの重複チェックの方が効率的.
                                  .
80:ふあんてるうえるてん[20]<2個>
C0:ふぁんでるヴぇるでん[20]     [10C9:55C][2549:32A]
C0:ファンデルヴェルデン[20]     [10C9:55C][2549:344]
80:ふあんてるうえるてんひい[24]<2個>
C0:ふぁんでるヴぇるでんびー[24] [10C9:55C][2549:35E]
C0:ファンデルヴェルデンビー[24] [10C9:55C][2549:378]
80:ふあんてるへるてん[18]<2個>
C0:ふぁんでるべるでん[18]       [10C9:55C][2549:392]
C0:ファンデルベルデン[18]       [10C9:55C][2549:3AC]
80:ふあんてるへるてんひい[22]<2個>
C0:ふぁんでるべるでんびー[22]   [10C9:55C][2549:3C6]
C0:ファンデルベルデンビー[22]   [10C9:55C][2549:3E0]
80:ふあんてるほおほう[18]<2個>
C0:ふぁんでるぽーほう[18]   [10CA:746][2549:3FA]
C0:ファンデルポーホウ[18]   [10CA:746][2549:410]
                                   .
80:ふあんてるほるほうていしき[26]<2個>
C0:ふぁんでるぽるほうていしき[26] [10CA:42][2549:426]
C0:ファンデルポルホウテイシキ[26] [10CA:42][2549:440]
80:ふあんてるめえあ[16]<2個>
C0:ふぁんでるめーあ[16]      [10CB:3D8][2549:45A]
C0:ファンデルメーア[16]      [10CB:3D8][2549:47A]
80:ふあんてるめえあえす[20]<2個>
C0:ふぁんでるめーあえす[20]  [10CB:3D8][2549:49A]
C0:ファンデルメーアエス[20]  [10CB:3D8][2549:4BA]
80:ふあんてるわあるす[18]<2個>
C0:ふぁんでるわーるす[18]   [10CB:46E][2549:4DA]
C0:ファンデルワールス[18]   [10CB:46E][2549:4F2]
80:ふあんてるわあるすきゆうちやく[30]<2個>
C0:ふぁんでるわーるすきゅうちゃく[30]   [10CB:676][2549:50A]
C0:ファンデルワールスキュウチャク[30]   [10CB:676][2549:526]
                                   .
[HP200LX/LXDIC]

|

2016年5月24日 (火)

LXDIC:項目の重複チェック

■LXDIC:項目の重複チェック
通常,インデックスには項目の重複が存在するため,重複チェックの方法に
よっては,検索結果が異なってくる.
                                  .
●チェック方法
1.本文アドレスだけチェック
  本文が同じなら,見出しアドレスが異なっていても,同じ項目と見なす.
  見出しの異なるバリエーションを表示できない.
  (同じ本文を指す項目を,ただ1つに限定する仕様)
2.本文アドレスと見出しアドレスの両方でチェック
  本文が同じでも,見出しアドレスが異なれば,別項目と見なす.
  見出しアドレスが異なっても,見出し内容が異なるとは限らないが,
  辞書が,別項目として扱っていると判断する.
  (同じ本文を指す項目が複数存在することを許す仕様)
3.本文アドレス+見出しアドレス+見出し文字列 でチェック
  見出しアドレスが異なっても,見出し文字列が同一になることがあるので,
  見出しの照合は,見出文字列でも行った方が正確になる.
  ただし,サイズの大きな辞書では,見出しの取得に膨大な時間がかかる
  場合がある.
  (良好な検索結果が得られるが,長い検索時間が難点)
                                  .
                                  .
●リーダーズ英和辞典の検索例("giv"で検索)
1.本文アドレスのみでチェック
Lxd1924_2  
 重複は全くないが,見出し "give" の項目がなくなってしまう.
 "give" の代りに,givable<give> を参照する必要があり,分かりにくい.
 ("giv"で検索すると,"give"がヒットしていないように見える)
                                   .
2.本文アドレスと見出しアドレスの両方でチェック
Lxd1923
 givable<give>, give, giveable<give> を個別に表示(参照する本文は同一)
 [P]Giv'atayim が重複(見出しアドレスが異なるため)
                                   .
                                   .
●参考データ
リーダーズ英和辞典のインデックス
GIV’ATAYIM[20]    [3C5C3:30E][1B93B:37C]
GIVABLE[14]          [35665:4A8][1B93B:398]
GIVATAYIM[18]      [3C5C3:30E][1B93B:3BC]
GIVE[8]                 [35665:4A8][1B93B:3D8]
GIVE[8]                 [3C5C3:42C][1B93B:3E8]
GIVEABLE[16]        [35665:4A8][1B93B:3F8]
GIVEANDGO[18]      [35670:1B0][1B93B:41E]
GIVEANDGO[18]      [3C5C4:5B2][1B93B:43C]
GIVEANDTAKE[22]  [35670:2E6][1B93B:45A]
GIVEANDTAKEGIRL[30]    [3C5C4:6FC][1B93B:47C]
GIVEAWAY[16]        [35670:422][1B93B:4A8]
GIVEAWAY[16]        [3C5C5:000][1B93B:4C0]
GIVEBACK[16]        [35671:05C][1B93B:4D8]
GIVEBACK[16]        [3C5C5:4D0][1B93B:4F0]
GIVEN[10]              [35665:4A8][1B93B:51E]
GIVEN[10]              [35671:164][1B93B:53E]
GIVEN[10]              [3C5C5:5EE][1B93B:550]
GIVENCHY[16]        [35672:266][1B93B:57A]
GIVENNAME[18]      [35672:36A][1B93B:592]
GIVEPEACEACHANCE[32]  [3C5C5:71C][1B93B:5AE]
                                   .
[HP200LX/LXDIC]

|

2016年5月15日 (日)

memo::広辞苑の色見本

■色見本
                                 .
●記述子
・1f14 色見本開始指定
・1f15 色見本終了指定
                                 .
●本文の記述
[5F76: A0]<1F14><1E01><1F15><1F15><4D75><1F06>あい<1F07><1F0A>
      ↑     ↑  ↑  
    色見本開始   色見本終了 
(1F15が2回出現する理由は不明)
                                 .
色番号
<1F14>と<1F15><1F15>の間に<1E??><1E??>で記述している.
no.1   <1F14><1E01><1F15><1F15>
no.2   <1F14><1E02><1F15><1F15>
................................
no.99   <1F14><1E99><1F15><1F15>
no.100  <1F14><1E01><1E00><1F15><1F15>
no.101  <1F14><1E01><1E01><1F15><1F15>
................................
no.200  <1F14><1E02><1E00><1F15><1F15>
................................
※色番号で該当ブロックを割出し,マンセル値を取得する.
                                 .
                                 .
●色見本の記述
EBDumpテキストダンプ[広辞苑第6版]
[ID=E0:色見本] start=1A391(107409), blocks=266
[1A391:  0]    2PB3/5    藍    2PB    3    5
[1A392:  0]    5PB2.5/2    藍鉄    5PB    2.5    2
[1A393:  0]    7.5B4.5/2.5    藍鼠    7.5B    4.5    2.5
[1A394:  0]    2.5Y8.5/1.5    アイボリー    2.5Y    8.5    1.5
[1A395:  0]    10Y3.5/1    藍海松茶    10Y    3.5    1
[1A396:  0]    2.5PB4/12    青    2.5PB    4    12
[1A397:  0]    2.5PB4/12    青色    2.5PB    4    12
[1A398:  0]    6PB2.5/2.5    青褐    6PB    2.5    2.5
[1A399:  0]    5GY4.8/3.2    青白橡    5GY    4.8    3.2
[1A39A:  0]    7.5Y6/3    青丹    7.5Y    6    3
.........................................
1つのブロック(2048バイト)に1色の情報を記述
全部で266色
                                 .
[HP200LX/LXDIC]

|

2016年5月14日 (土)

memo::広辞苑第5版(電子ブック版)の音声

■広辞苑第5版(電子ブック版)の音声
EBXAの音声は,当時ソニーが推進していたCD-ROM XAトラックにADPCMで記録さ
れている.(電子ブック版 広辞苑5版:鳥の鳴声40件)
 ※ADPCM=適応的差分パルス符号変調
      adaptive differential pulse code modulation
                                   .
●本文内の記述例
・EBDumpによるテキストダンプ
[83DB:34C]<1F09><0002><1F45><0001><1F33>→<1F04><A23B><1F05>鳴声<1F04>
<A23C><1F05><1F53><0004><m=0,s=0,f=3><m=0,s=18,f=61><1F65>
                                   .
・EBDumpによるバイナリーダンプ
                                         1F 09 00 02 ................
0350 1F 45 00 01 1F 33 22 2A 1F 04 A2 3B 1F 05 4C 44 ......→..「;..鳴
0360 40 3C 1F 04 A2 3C 1F 05 1F 53 00 04 00 00 03 00 声..「<..........
0370 18 61 1F 65
                                   .
●本文データの解釈(資料がないため,実例による推定)
<1F33> ==> CDXA音声参照開始
<1F53> ==> CDXA音声参照終了
<0004> ==> 不明
<m=0,s=0,f=3>  ==> 音声データ開始位置
<m=0,s=18,f=61> ==> 音声データ終了位置
  m=分(0-59),1分=60秒=4500フレーム
  s=秒(0-59),1秒=75フレーム
  f=フレーム(0-74)  1フレーム=2352バイト
                                   .
ADPCMの音声データは,連続したフレームには格納されない.
フレームは,16のグループ(チャネル?)に分けられ,各グループごとにデータ
が格納される. ※「グループ」は仮の名称
 グループ1: f= 1,17,33,49,...
 グループ2: f= 2,18,34,50,...
 ..........: .................
 グループ16: f=16,32,48,64,...
                                   .
一見,重複があるように見える以下の2つデータには,重複がない.
 開始<m=0,s= 0,f= 3> 終了<m=0,s=18,f=61>  第3グループ
 開始<m=0,s= 0,f= 4> 終了<m=0,s=16,f=52>  第4グループ
                                   .
                                   .
●ADPCM音声データ
CD-ROM XA Form2
                                   .
・ファイルヘッダー
block=0001(1)
Offs -0--1--2--3--4--5--6--7--8--9--A--B--C--D--E--F 0123456789ABCDEF
0000 52 49 46 46 64 44 54 00 43 44 58 41 66 6D 74 20 RIFFdDT.CDXAfmt
0010 10 00 00 00 00 00 00 00 31 11 58 41 01 00 00 00 ........1.XA....
0020 00 00 00 00 64 61 74 61 40 44 54 00 00 FF FF FF ....data@DT.....
0030 FF FF FF FF FF FF FF 00 09 54 36 02 01 00 64 04 ........    T6...d.
0040 01 00 64 04 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B ..d.............
                                   .
"RIFF"             4bytes
64 44 54 00        データ長(バイト数)
"CDXA"             CDXA
"fmt "             fmt
10 00 00 00        以降のヘッダーのバイト数
00 00 00 00        不明
31 11              不明
"XA"               XA
01 00 00 00        不明
00 00 00 00        不明
"data"             data
40 44 54 00        サイズ
                                   .
・フレームヘッダー
00 FF FF FF FF FF FF FF FF FF FF 00    同期 12バイト
09 54 36           分,秒,フレーム 3   ヘッダー 4バイト
02                                  1   ?
01                 不明(固定値)   1   サブヘッダー 8バイト
00                 番号 00-0f       1
64 04              不明(固定値)   2
01                 不明(固定値)     1
00                 番号 00-0f       1
64 04              不明(固定値)   2
                                   .
セクター(フレーム)
2352バイト=12+4+8+(2324)+4
+----+---+---+------------------------------------+-----+---+
| 12 | 8 | 4 |  128*18                            | 20  | 4 |
+----+---+---+------------------------------------+-----+---+
                                   .
ブロック (セグメント)
128バイト=16+112 --(デコード)-->  112*4=448バイト
                                   .
チャネル数    :1(モノラル)
サンプリング周波数:18900
量子化ビット数  :16ビット
                                   .
                                   .
●LXDICへの実装は不可
仕様に一部不明な点があるが,音声再生は原理的には可能.
ただし,HP200LX上では,10秒程度のADPCM音声のデコードに1分程度かかり,
リアルタイムのデコードは不可能.(事前の変換処理は可能)
ADPCMデコード機能を,LXDICに実装するメリットはない.
                                   .
●デコード関数
DDWinのサンプルコード:ebxa.cpp
http://homepage2.nifty.com/ddwin/ebxa.txt
                                   .
※デコード関数 XADecode は,適切にC言語に書き直せば,HP200LX上でも
 動作する.(32ビットC++ ==> 16ビットC:整数型のサイズに注意)
                                   .
[HP200LX/LXDIC]

|

2016年4月25日 (月)

memo::現有機リスト

■現有機リスト
 .
HP200LX
  製造年週  モデル  速度 メモリ 用途    備考    
1: 95年06週  2MB   倍速  5MB  テスト用 (使用中)   
2: 99年34週  4MB   倍速  6MB  通常使用 (使用中)  
3: ??年??週  4MB   倍速  6MB  予備1   筐体100LX  
4: 98年49週  4MB   倍速  6MB  予備2   新品同様   
5: 99年44週  4MB   標準  4MB  予備3   未使用品   
6: 96年29週  2MB   標準  2MB  予備4   筐体変色   
 .
HP100LX
1: 94年14週  2MB   倍速 2MB  部品取り  偏光フィルム交換済 
2: 94年16週  1MB   倍速 1MB  部品取り  液晶不良      
 .
[HP200LX/LXDIC]

|

2016年4月23日 (土)

LXDIC完全版

■LXDIC完全版
HP200LX上で実現可能なほぼ全ての機能を実装したバージョン
最終バージョン:19.0
                              .
(基本機能)
・通常の単語検索
・複合検索
・画像表示(モノクロ図版,カラー図版)
・メニュー/図版メニューによる検索
・圧縮辞書の閲覧(独自形式)
・4GBを超える辞書の閲覧(Wikipedia)
・PCM音声の再生(モノラル)
                              .
(補助機能)
・検索時間等のテスト用表示  :約0.5KB
・辞書ファイル名等の情報表示 :約0.5KB
・画像データスワップ機能   :約0.5KB
・本文内の文字選択/コピー機能:約1.0KB
・本文内の文字列検索機能   :約1.0KB
・ヘルプ表示機能       :約0.5KB
・かな<==>カナ変換
・検索履歴の保存
・本文表示履歴による表示
・前項目/次項目表示
                              .
 名称    画像  複合  圧縮  4GB超  音声 
・基本版   ○   ○   ×   ×   ×  
・標準版   ○   ○   ○   ×   ×  
・拡張版   ○   ○   ○   ○   ×  
・完全版   ○   ○   ○   ○   ○  19.0
                              .
[HP200LX/LXDIC]

|

2016年4月18日 (月)

LXDIC 19.0

■LXDIC 19.0
ルビ/添字等の小文字表示の表示速度を改善
                                  .
一部の辞書での表示速度低下
LXDICは,通常の16ドットフォントの表示は高速化しているが,ルビや添字
を表現する11ドットフォントについては,これまで高速化していなかった.
広辞苑などの市販の辞書では,小さな文字の使用頻度はわずかであり,表
示速度が問題になることはない.
しかし,Wikipediaのようなフリーの辞書では,この小さい文字での記述が
連続的に多用され,表示速度が目に見えて遅くなる場合がある.
                                  .
これに対応するため,11ドットフォントについても,VRAM直接書込み方式
で高速描画するよう変更した.
                                  .
[HP200LX/LXDIC]

|

«LXDIC 18.9b