Tgif FAQ - 文字エンコーディング
|
注意:
このページは、
Tgif ホームページ
にある
FAQ のページ
を、竹野研究室
(主に竹野) が日本語に翻訳したものです。
オリジナルサイトの作者 (Bill Cheng 氏) の許可の元、ここに公開します。
FAQ 以外のページへのリンクは、
ほとんどがオリジナルページへのリンクになっていますので、
日本語訳はされていません
(ただし、そのうち主なものは今後日本語訳することも考えています)。
また、ここに書かれているリンク先やソフトウェアなどの情報は、
書かれてからかなり年月が経っていますので、
リンク切れになっていたり、
現在の状況には合わない情報である可能性もあります。
この日本語訳のページに関する意見や質問は、
オリジナルサイトの作者ではなく、
竹野
にお願いいたします。
(05/31 2017)
このページのオリジナルサイト:
http://bourbon.usc.edu/tgif/faq/charencode.html
目次へ戻る
|
| |
|
iso8859-1
の文字に対応する PostScript 文字名は何ですか ?
|
-
デフォルトでは、tgif が使用するスクリーンフォントは
iso8859-1 のエンコーディングです。
これらのフォントの非 ASCII 部分 (7 bit 目が ON の文字) は、
デフォルトではそれぞれ PS フォント文字に割り当てられています。
以下の table は、10 進の文字コード、
8 進の文字コード、およびそれに対応する PostScript 文字名を
一覧にしたものです。
| 10 進コード | |
8 進コード |
| 文字名 |
| 161 | | 8#241 |
| exclamdown |
| 162 | | 8#242 |
| cent |
| 163 | | 8#243 |
| sterling |
| 164 | | 8#244 |
| currency |
| 165 | | 8#245 |
| yen |
| 166 | | 8#246 |
| bar |
| 167 | | 8#247 |
| section |
| 168 | | 8#250 |
| dieresis |
| 169 | | 8#251 |
| copyright |
| 170 | | 8#252 |
| ordfeminine |
| 171 | | 8#253 |
| guillemotleft |
| 172 | | 8#254 |
| logicalnot |
| 173 | | 8#255 |
| emdash |
| 174 | | 8#256 |
| registered |
| 175 | | 8#257 |
| macron |
| 176 | | 8#260 |
| degree |
| 177 | | 8#261 |
| plusminus |
| 178 | | 8#262 |
| twosuperior |
| 179 | | 8#263 |
| threesuperior |
| 180 | | 8#264 |
| acute |
| 181 | | 8#265 |
| mu |
| 182 | | 8#266 |
| paragraph |
| 183 | | 8#267 |
| periodcentered |
| 184 | | 8#270 |
| cedilla |
| 185 | | 8#271 |
| onesuperior |
| 186 | | 8#272 |
| ordmasculine |
| 187 | | 8#273 |
| guillemotright |
| 188 | | 8#274 |
| onequarter |
| 189 | | 8#275 |
| onehalf |
| 190 | | 8#276 |
| threequarters |
| 191 | | 8#277 |
| questiondown |
| 192 | | 8#300 |
| Agrave |
| 193 | | 8#301 |
| Aacute |
| 194 | | 8#302 |
| Acircumflex |
| 195 | | 8#303 |
| Atilde |
| 196 | | 8#304 |
| Adieresis |
| 197 | | 8#305 |
| Aring |
| 198 | | 8#306 |
| AE |
| 199 | | 8#307 |
| Ccedilla |
| 200 | | 8#310 |
| Egrave |
| 201 | | 8#311 |
| Eacute |
| 202 | | 8#312 |
| Ecircumflex |
| 203 | | 8#313 |
| Edieresis |
| 204 | | 8#314 |
| Igrave |
| 205 | | 8#315 |
| Iacute |
| 206 | | 8#316 |
| Icircumflex |
| 207 | | 8#317 |
| Idieresis |
| 208 | | 8#320 |
| Eth |
| 209 | | 8#321 |
| Ntilde |
| 210 | | 8#322 |
| Ograve |
| 211 | | 8#323 |
| Oacute |
| 212 | | 8#324 |
| Ocircumflex |
| 213 | | 8#325 |
| Otilde |
| 214 | | 8#326 |
| Odieresis |
| 215 | | 8#327 |
| multiply |
| 216 | | 8#330 |
| Oslash |
| 217 | | 8#331 |
| Ugrave |
| 218 | | 8#332 |
| Uacute |
| 219 | | 8#333 |
| Ucircumflex |
| 220 | | 8#334 |
| Udieresis |
| 221 | | 8#335 |
| Yacute |
| 222 | | 8#336 |
| Thorn |
| 223 | | 8#337 |
| germandbls |
| 224 | | 8#340 |
| agrave |
| 225 | | 8#341 |
| aacute |
| 226 | | 8#342 |
| acircumflex |
| 227 | | 8#343 |
| atilde |
| 228 | | 8#344 |
| adieresis |
| 229 | | 8#345 |
| aring |
| 230 | | 8#346 |
| ae |
| 231 | | 8#347 |
| ccedilla |
| 232 | | 8#350 |
| egrave |
| 233 | | 8#351 |
| eacute |
| 234 | | 8#352 |
| ecircumflex |
| 235 | | 8#353 |
| edieresis |
| 236 | | 8#354 |
| igrave |
| 237 | | 8#355 |
| iacute |
| 238 | | 8#356 |
| icircumflex |
| 239 | | 8#357 |
| idieresis |
| 240 | | 8#360 |
| eth |
| 241 | | 8#361 |
| ntilde |
| 242 | | 8#362 |
| ograve |
| 243 | | 8#363 |
| oacute |
| 244 | | 8#364 |
| ocircumflex |
| 245 | | 8#365 |
| otilde |
| 246 | | 8#366 |
| odieresis |
| 247 | | 8#367 |
| divide |
| 248 | | 8#370 |
| oslash |
| 249 | | 8#371 |
| ugrave |
| 250 | | 8#372 |
| uacute |
| 251 | | 8#373 |
| ucircumflex |
| 252 | | 8#374 |
| udieresis |
| 253 | | 8#375 |
| yacute |
| 254 | | 8#376 |
| thorn |
| 255 | | 8#377 |
| ydieresis |
|
| |
|
私は adobe-fontspecific エンコーディングの
X フォントを使っていますが、
tgif が作る PostScript ファイルのいくつかの文字は
文字名を間違えて使っているようです。
tgif に正しい PostScript コードを作らせるには
どうすればいいですか ?
|
-
ときどき、同じ PostScript フォントで異なるエンコーディングが
必要になることがあります。これは、2 つの方法で実現されます。
一つは、Tgif.AdditionalDontReencode (と Tgif.DontReencode)
を使う方法ですが、
もう一つは、Tgif.PSFontCharSubs
を使う方法です。
その違いは、Tgif.AdditionalDontReencode では
PostScript フォントのエンコードがスキップされ、
Tgif.PSFontCharSubs では一つの PostScript フォントの文字が
与えた固有のエンコーディングになります。
いずれの場合も、場所の確保用に仮のフォント名を
導入する必要があります。例:
- Tgif.AdditionalFonts: \n\
- utopia-medium-r-normal \n\
- adobe-fontspecific \n\
- UtopiaTmp-Regular \n\
- \n\
- utopia-bold-r-normal \n\
- adobe-fontspecific \n\
- UtopiaTmp-Bold \n\
- \n\
- utopia-medium-i-normal \n\
- adobe-fontspecific \n\
- UtopiaTmp-Italic \n\
- \n\
- utopia-bold-i-normal \n\
- adobe-fontspecific \n\
- UtopiaTmp-BoldItalic \n\
- \n\
- Tgif.PSFontAliases: \n\
- UtopiaTmp-Regular=Utopia-Regular \n\
- UtopiaTmp-Bold=Utopia-Bold \n\
- UtopiaTmp-Italic=Utopia-Italic \n\
- UtopiaTmp-BoldItalic=Utopia-BoldItalic
上の例では、4 つの仮の PostScript フォント名を作っています
(いずれも頭に "UtopiaTmp" という名前がついています)。
それらのフォントのエンコーディングは、
使用している X11 フォントに従って adobe-fontspecific
にしています。
Tgif.PSFontAliases は、仮の PostScript フォント名を
対応する実際の PostScript フォント名に割り当てます
(Tgif.PSFontAliases がないと、UtopiaTmp-Regular のような
存在しない PostScript フォント名が
PostScript ファイル中に現れることになります)。
ある PostScript フォントエンコーディングをスキップするには、
Tgif.AdditionalDontReencode の X リソース値を使えます。
例えば、以下のように指定します:
- Tgif.AdditionalDontReencode: UtopiaTmp
これにより 161 から 255 (端も含む) の文字コードの文字は、
ISO-Latin-1 文字名にエンコードされなくなります。
ISO-Latin-1 エンコードの文字名の一覧については、
上 を参照してください。
ある PostScript フォント内の文字を
特定のエンコーディングで置き換えるには、
以下 を参照してください。
|
| |
|
私は iso8859-2 エンコーディングの
X フォントを使っていますが、
tgif が作る PostScript ファイルの /Aogonek, /Lslash 等の
文字の文字名を間違えて使っているようです
tgif に正しい PostScript コードを作らせるには
どうすればいいですか ?
|
-
(以下の話は、
tgif-4.1.45
以降のみでサポートされています。)
ある PostScript フォント内の文字を
特定のエンコーディングで置き換えるには、
Tgif.PSFontNeedCharSubs と Tgif.PSCharSubs_*
の X リソース値が使えます
(上に述べたように、Tgif.AdditionalFonts と Tgif.PSFontAliases
の設定も必要になります)。
以下はその一例です:
- Tgif.PSFontNeedCharSubs: \n\
- UtopiaTmp-Regular=Foo \n\
- UtopiaTmp-Bold=Foo \n\
- UtopiaTmp-Italic=Foo \n\
- UtopiaTmp-BoldItalic=Foo
- Tgif.PSCharSubs_Foo: \n\
- 161/Aogonek \n\
- 198/Cacute \n\
- 202/eogonek
上の例では、Tgif.PSFontNeedCharSubs は、
仮の PostScript フォント名の一覧を指定していますが、
それには文字の置換と対応する [トークン] 名が必要になります。
[トークン] に割り当てる一つの仮の PostScript フォント名に対して、
置換する文字の一覧を Tgif.PSCharSubs_[トークン] という
X リソースに指定します。
Tgif.PSCharSubs_[トークン] の書式は、
[古い文字コード]/[新しい文字名] 文字列のリストで、
[古い文字コード] は 10 進か 8 進の文字コードで、
[新しい文字名] は PostScript 文字名でなければいけません。
上の例では、Foo をトークン名として使っていますが、
実際に使用する場合は、多分トークン名としては
iso8895-2 のようなものの方が適切でしょう。
文字コードは 10 進数と 8 進数が使えますので、
以下は上の例と同じになります:
- Tgif.PSFontNeedCharSubs: \n\
- UtopiaTmp-Regular=iso8859-2 \n\
- UtopiaTmp-Bold=iso8859-2 \n\
- UtopiaTmp-Italic=iso8859-2 \n\
- UtopiaTmp-BoldItalic=iso8859-2
- Tgif.PSCharSubs_iso8859-2: \n\
- 8#241/Aogonek \n\
- 8#306/Cacute \n\
- 8#312/eogonek
置き換えは、161 から 255 番 (端も含む) の範囲の
文字コードの文字 のみ に行われることに注意してください。
|
| |