2007年12月17日

[openoffice:10815] Re: OOo2.3.1 on Linuxで江戸勘定流フォントが未認識

はとちゃん さん

ありがとうございます。

はとちゃん wrote:
> File:Edokan.ttc
> 2;2
> 江戸勘亭流P;l_b8RリNュmA…0

> 1;Edokan;0;5;5;1;65535;900;100;150;1;998;1000;998;1000;0;1;1;2;Regular
> l_b8RリNュmA
> 0;Edokan;0;5;5;1;65535;900;100;150;1;998;1000;998;1000;0;1;1;2;Regular
>
> File:Edokan.ttc
> 2;2
> l_b8RリNュmA
> 0;Edokan;0;5;5;2;65535;900;100;150;1;998;1000;998;1000;0;1;1;2
> l_b8RリNュmA…0
> 1;Edokan;0;5;5;2;65535;900;100;150;1;998;1000;998;1000;0;1;1;2
>
> この電流みたいな文字列が怪しいです。

ほんとですね。


>> フォント名の文字コードを指定するコード番号と、実際のフォント名のバイト列
>> の文字コードが一致していない可能性がありますね。
>>
>> 以下の仕様書の platformID、encodingID あたりが、それにあたりますです。
>> http://www.microsoft.com/typography/otspec/name.htm
>>
>> 以前、こんなフォントファイルに遭遇したことがあります。
>> 文字コードを意味する番号はでたらめ。フォント名の文字コードはシフトJIS。
>> それでも、Windows 上では、問題なく動作している。

>> 上記の文字コードを意味する1,2バイトをちょちょっとシフトJISなどを意味する
>> 正しい数値に書き換えると、直っちゃうかもしれません。
>
> さすがにライセンスの問題となると、仕事の関係からも躊躇して
> しまいます。こういうものは、個人で楽しむ分には変更が認められる
> のかなぁ<かなり黒に近いグレーな感がします。

ファイル名で検索してたら、こんなところにありました。
http://www.punch-punch.com/kaneko/129font/font/EDOKAN.TTC

ダウンロードし、16進数ダンプで、中身をみてみたところ、、、

'name' テーブル
http://www.microsoft.com/typography/otspec/name.htm

0000 0010 00c6
0001 0000 0411 0000 003a 0000
0001 0000 0411 0001 000a 003a
0001 0000 0411 0002 0007 0044
0001 0000 0411 0003 000a 004b
0001 0000 0411 0004 000a 0055
0001 0000 0411 0005 0004 005f
0001 0000 0411 0006 000c 0063
0001 0000 0411 0007 003c 006f
0003 0002 0411 0000 0074 00ab
0003 0002 0411 0001 000a 011f
0003 0002 0411 0002 000e 0129
0003 0002 0411 0003 000a 0137
0003 0002 0411 0004 000a 0141
0003 0002 0411 0005 0008 014b
0003 0002 0411 0006 0018 0153
0003 0002 0411 0007 0062 016b

436f 7079 7269 6768 7420 2843 2920 4e69 686f 6e20 4c69 7465 7261 6c20 6c74 642e 2031 3939 3620 416c 6c20 5269 6768 7473 2052 6573 6572 7665 642e
Copyright (C) Nihon Literal ltd. 1996 All Rights Reserved.

8d5d 8ccb 8aa8 92e0 97ac
.]........

5265 6775 6c61 72
Regular

8d 5d8c cb8a a892 e097 ac
.]........

8d 5d8c cb8a a892 e097 ac
.]........

31 2e30 30
1.00

45 444f 4b41 4e54 4549 5259 55
EDOKANTEIRYU

000386b0: 8d 5d8c cb8a a892 e097 ac20 616e 6420 .]........ and
000386c0: 8d5d 8ccb 8aa8 92e0 97ac 826f 2061 7265 .].........o are
000386d0: 2074 7261 6465 6d61 726b 7320 6f66 204e trademarks of N
000386e0: 6968 6f6e 204c 6974 6572 616c 2e ihon Literal.

00 4300 .C.
000386f0: 6f00 7000 7900 7200 6900 6700 6800 7400 o.p.y.r.i.g.h.t.
00038700: 2000 2800 4300 2900 2000 4e00 6900 6800 .(.C.). .N.i.h.
00038710: 6f00 6e00 2000 4c00 6900 7400 6500 7200 o.n. .L.i.t.e.r.
00038720: 6100 6c00 2000 6c00 7400 6400 2e00 2000 a.l. .l.t.d... .
00038730: 3100 3900 3900 3600 2000 4100 6c00 6c00 1.9.9.6. .A.l.l.
00038740: 2000 5200 6900 6700 6800 7400 7300 2000 .R.i.g.h.t.s. .
00038750: 5200 6500 7300 6500 7200 7600 6500 6400 R.e.s.e.r.v.e.d.
00038760: 2e .

6c5f 6238 52d8 4ead 6d41 0052 0065 00 l_b8R.N.mA.R.e.
00038770: 6700 7500 6c00 6100 726c 5f62 3852 d84e g.u.l.a.rl_b8R.N
00038780: ad6d 416c 5f62 3852 d84e ad6d 4100 3100 .mAl_b8R.N.mA.1.
00038790: 2e00 3000 3000 4500 4400 4f00 4b00 4100 ..0.0.E.D.O.K.A.
000387a0: 4e00 5400 4500 4900 5200 5900 556c 5f62 N.T.E.I.R.Y.Ul_b
000387b0: 3852 d84e ad6d 4100 2000 6100 6e00 6400 8R.N.mA. .a.n.d.
000387c0: 206c 5f62 3852 d84e ad6d 41ff 3000 2000 l_b8R.N.mA.0. .
000387d0: 6100 7200 6500 2000 7400 7200 6100 6400 a.r.e. .t.r.a.d.
000387e0: 6500 6d00 6100 7200 6b00 7300 2000 6f00 e.m.a.r.k.s. .o.
000387f0: 6600 2000 4e00 6900 6800 6f00 6e00 2000 f. .N.i.h.o.n. .
00038800: 4c00 6900 7400 6500 7200 6100 6c00 2e00 L.i.t.e.r.a.l...
00038810: 0000 0000 0000 0000 0000 0000 0000 0000 ................


え〜と、まあ、そのぅ。。。なんといぅか、、、

救いようがありませんですねぇ。
(※それゃ、やろうと思えば、修正できますけど。。。)

0001 0000 0411 の部分は、0001 0000 0001 か 0001 0000 0000 であるべきでして、、、

仕様書の↓この言語の一覧表によると、Japanese は 0411 ではなく、0001 っす。
Macintosh platform-specific encoding IDs
(script manager codes), (platform ID = 1)

でも、そこは、通常、あるふぁべっとのフォント名を書くべきとこでして、
0001 0000 0000 とやって、その内容は、ASCII 文字で書いておくべきだと思いますです。
それなのに、それなのに、それなのに、、、
0001 0000 0411 0001 に対応する内容が、なっなんと、シフトJISです。
8d5d 8ccb 8aa8 92e0 97ac
.]........

0001 0000 0001 0001 と修正すれば、直るかもしませんけど。。。


こちらの日本語のフォント名の部分は、正しいようです。
とおもいきや、、、これもまた。なんとなく、変な感じがします。
0003 0002 0411 0001 000a 011f

Microsoft Language IDs (platform ID = 3) の言語の一覧表です。
0411 とは http://www.microsoft.com/globaldev/reference/lcid-all.mspx によると、
Japanese になっています。そこまではいいように見えたのですが、

その先の実際の文字 6c5f は、シフトJISではなく、ユニコードでの「江」です。
http://www.unicode.org/charts/PDF/U3400.pdf の 6C00 のページの下の方に見つかります。

となると、
0003 0002 0411 0001 000a 011f
の部分は、0411 ではなく、

http://msdn2.microsoft.com/en-us/library/ms776446.aspx のコードページによると、
「1201 unicodeFFFE Unicode UTF-16, big endian byte order; available only to managed applications」
をつかうべきではないかなぁ。

そうなると、10進数の 1201 を 16進数に変換した 04b1 として
0003 0002 04b1 0001 000a 011f
かなぁ。

というところまでは、わかりました。とさ。

まあ、文字コードを指定している 0411 の部分をちょちょちょっと修正し、
あと、チェックサムを計算しなおして設定すれば、それで出来上がり。
ってな感じではありますです。

そのフォントをリリースされたメーカーさんが、やるべきお仕事っすね。

Tora


【MLコミュホームページ http://www.freeml.com/openoffice

--[PR]------------------------------------------------------------------
 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┏┫☆国内最高級リゾート[鹿児島・天空の森]で過ごす“至福の週末”☆┣┓
┃┗┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳┛┃
┗━┛サンスターのメルマガ新規登録でペア3組6名様にプレゼント!┗━┛
http://ad.freeml.com/cgi-bin/sa.cgi?id=aSTxy
------------------------------------------------------------------[PR]--
■GMO INTERNET GROUP■ GMO INTERNET www.gmo.jp

投稿者 xml-rpc : 2007年12月17日 14:42
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/67718
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。