[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-devel:18751] Re: libreoffice と日本語フォント名フォント - 回避可能
ちょっとわかりました。
フォント名はロカール依存です。そしてfc-listは大丈夫なんですが、
libreofficeが読みに行く際に英語環境でのフォント名が文字化けし
ています。fontforgeで確認すると英語フォント名はおかしいですね。
ややこしいのはこのようなフォント名はlibreofficeによりキャッ
シュされているので、LOCALEを切り替えただけでは治りません。
ロカールの切り替えをした後.config/libreofficeをりネームして無効化
してやらないといけません。どうもピンポイントに消すなら以下です。
.config/libreoffice/4/user/psprint/pspfontcache
diffを取ってみました:
FontCacheDirectory:1417269784:/usr/share/fonts/truetype
@@ -426,42 +426,42 @@
FontCacheDirectory:1417240455:/home/osamu/.fonts
File:epkyouka.ttf
2;1
-EPSON ã≥â»èëëÃÇl;EPSON 教科書体M
+EPSON 教科書体M;EPSON ã≥â»èëëÃÇl
0;EPSON-KYOKASHO;0;5;5;2;65535;859;140;-1;1;1000;999;1000;999;0;0;0;0;Regular
ただどうすればã≥â»èëëÃÇlと文字化けするのかは不明です。
フォントファイル最後にはバイナリモードで見ると:
003ef8f0 01 c2 28 43 29 20 32 30 30 30 20 53 45 49 4b 4f |..(C) 2000 SEIKO|
003ef900 20 45 50 53 4f 4e 20 43 4f 52 50 2e 20 41 6c 6c | EPSON CORP. All|
003ef910 20 72 69 67 68 74 73 20 72 65 73 65 72 76 65 64 | rights reserved|
003ef920 2e 00 45 50 53 4f 4e 20 8b b3 89 c8 8f 91 91 cc |..EPSON ........|
003ef930 82 6c 52 65 67 75 6c 61 72 00 45 50 53 4f 4e 20 |.lRegular.EPSON |
003ef940 8b b3 89 c8 8f 91 91 cc 82 6c 3a 32 30 30 30 00 |.........l:2000.|
003ef950 45 50 53 4f 4e 20 8b b3 89 c8 8f 91 91 cc 82 6c |EPSON .........l|
003ef960 56 65 72 73 69 6f 6e 20 33 2e 30 30 45 50 53 4f |Version 3.00EPSO|
003ef970 4e 2d 4b 59 4f 4b 41 53 48 4f 45 50 53 4f 4e 20 |N-KYOKASHOEPSON |
003ef980 8b b3 89 c8 8f 91 91 cc 82 6c 20 61 6e 64 20 45 |.........l and E|
003ef990 50 53 4f 4e 2d 4b 59 4f 4b 41 53 48 4f 20 69 73 |PSON-KYOKASHO is|
003ef9a0 20 61 20 74 72 61 64 65 6d 61 72 6b 20 6f 66 20 | a trademark of |
003ef9b0 53 45 49 4b 4f 20 45 50 53 4f 4e 20 43 4f 52 50 |SEIKO EPSON CORP|
003ef9c0 4f 52 41 54 49 4f 4e 2e 00 28 00 43 00 29 00 20 |ORATION..(.C.). |
があります。「EPSON 」の後が 8b b3 89 c8 8f 91 91 cc 82 6c ですね。
これってsjisで「教 科 書 体 M」です。2回繰り返えされますね。
fc-list -vでは
Pattern has 23 elts (size 32)
family: "EPSON 教科書体M"(s)
familylang: "ja"(s)
style: "Regular"(s)
stylelang: "ja"(s)
fullname: "EPSON 教科書体M"(s)
fullnamelang: "ja"(s)
slant: 0(i)(s)
weight: 80(i)(s)
width: 100(i)(s)
spacing: 90(i)(s)
foundry: "epson"(s)
file: "/home/osamu/.fonts/epkyouka.ttf"(s)
index: 0(i)(s)
outline: True(s)
scalable: True(s)
charset:
...
lang: bg|fj|ho|ia|ie|io|ja|kum|nr|om|os|ru|sel|so|ss|st|sw|ts|uz|xh|zu|kj|kwm|ms|ng|rn|rw|sn|za(s)
fontversion: 196608(i)(s)
capability: "otlayout:kana"(s)
fontformat: "TrueType"(s)
decorative: False(s)
hash: "sha256:819c254f89d796bce83297a47cc07c4f73d2739232335dd688f84c9dcf5af168"(s)
postscriptname: "EPSON-KYOKASHO"(s)
ここはfullname 等に英語名がないですね。
Takaoだと:
family: "TakaoMincho"(s) "Takao明朝"(s)
familylang: "en"(s) "ja"(s)
style: "Regular"(s)
stylelang: "en"(s)
fullname: "TakaoMincho"(s) "Takao明朝"(s)
道理でFONTFORGEでも英語名とした際に同じ文字化けするはずです。
それにつけても、どうしてこう化けるかが不可解です。
元コード 表示 UTFー8コード
8b ã C3 A3
b3 ≥ E2 89 A5
89 â C3 A2
c8 » C2 BB
8f è C3 A8
91 ë C3 AB
91 ë C3 AB
cc à C3 83
82 Ç C3 87
6c l 6C
でもどういうエンコーディングなのか予想できません。少なくとも
以下ではないようです。意味不明です。
Windows-1252
ISO/IEC 8859-1 (LATIN1)
まあ、どこでおかしくなるかは良く分かりませんが、フォント名の
エンコーディング問題があり、そのデーターがキャッシュされてい
るので解決しにくいようです。兎に角キャシュを消して日本語環境
下で起動し日本語フォント名を使うといいようですね。
青木