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 番 (端も含む) の範囲の
文字コードの文字 のみ に行われることに注意してください。
|
|