第 12 回多言語組版研究会 多言語組版のためのフォント技術

32
1 第 12 第第第第第第第第第 多多多多多多多多多多多多多多多 l 多多多多

Upload: shing

Post on 01-Feb-2016

91 views

Category:

Documents


0 download

DESCRIPTION

第 12 回多言語組版研究会 多言語組版のためのフォント技術. l. 内田富久. 内  容. OpenType フォントの現状 OpenType フォントと TrueType フォントの比較 OpenType のタイポグラフィー向け機能 組版ソフトは OpenType をどう使うか その他. フォントの分類. OpenType フォントの現状. ① 日本語 OTF CFF ベース( The Type 2 Charstring Format ) ※CFF - PostScript (Compact Font Format) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第 12 回多言語組版研究会 多言語組版のためのフォント技術

1

第 12回多言語組版研究会

多言語組版のためのフォント技術

l 内田富久

Page 2: 第 12 回多言語組版研究会 多言語組版のためのフォント技術

l 2

 内  容

1. OpenType フォントの現状

2. OpenType フォントと TrueType フォントの比較

3. OpenType のタイポグラフィー向け機能

4.組版ソフトは OpenType をどう使うか

5.その他

Page 3: 第 12 回多言語組版研究会 多言語組版のためのフォント技術

l 3

フォントの分類

フォントの分類 概   要 プラット・ホーム

TrueType データ構造 Windows/Mac/Unix

AppleMicrosoft

CIDフォント

ATM フォント(スクリーン)

プログラム構造

*ATM :ラスタライザーが必要

Mac  ( Windows)Adobe

(プリンタ) PostScrip プリンタ

OpenType *TrueType フォント構造 Windows/Mac Microsoft

Adobe

Bitmap フォント .fon / 独自 組み込み機器 /Unix

Page 4: 第 12 回多言語組版研究会 多言語組版のためのフォント技術

l 4

OpenType フォントの現状

① 日本語 OTF

CFF ベース( The Type 2 Charstring Format )※ CFF - PostScript (Compact Font Format)

② 欧文 OTF

TrueType ベースが多い

Page 5: 第 12 回多言語組版研究会 多言語組版のためのフォント技術

l 5

① Windows ・ Mac ( data fork) で使用できる。 Rasterizer (日本語 OTF )  Windows : Win2K/XP は OS に組み込まれ ている。その他、 ATM を install  Mac :OS-XOS に組み込まれている。 その他、 ATM を install  

② Unicode ベース + AJ1-4(AJ1-5)③ 日本語組版を考慮した文字の属性データがいろ いろ追加 (feature table)

日本語 OpenType フォントの特徴

Page 6: 第 12 回多言語組版研究会 多言語組版のためのフォント技術

l 6

注意点

① フォントには AJ1-4 の文字数( 15,444 字)  あるが全ての文字を表示するにはアプリケー  ション側が管理。 OTF の Feature 機能も同様。

② 現在 InDesign ・ Illustrator-CS はサポート しているがそれ以外は通常の TTF ・ CID と同様。

  S-JIS ・システム外字文字数。

日本語 OpenType フォントの特徴

Page 7: 第 12 回多言語組版研究会 多言語組版のためのフォント技術

l 7

Adobe-Japan 文字セット

分類 CID 番号 概   要

Adobe-Japan1-0 0-8283 8,284 字

Adobe-Japan1-1 8284-8358 8,359 字( JIS-X0208:1997 相当)

Adobe-Japan1-2 8359-8719 8,720 字( Windows の IBM 拡張文字)

Adobe-Japan1-3 8720-9353 9,354 字(縦組用文字, 90度回転,半角文

字,その他)

Adobe-Japan1-4 9354-15443 15,444 字

Adobe-Japan1-5 15444-20316 JIS X 0213:2000 + SK 外字

OTF-Std 版 (AJ1-3)

OTF-Pro 版 (AJ1-4/AJ1-5)

Page 8: 第 12 回多言語組版研究会 多言語組版のためのフォント技術

l 8

Adobe-AJ1-4 文字セット

Page 9: 第 12 回多言語組版研究会 多言語組版のためのフォント技術

l 9

OTF フォント・ファイル構造

テーブル情報

cmapglyfGSUBGPOS・・・

1. Offset Table

実データ

cmap

glyf

GSUB

GPOS

・・・

2.実データ

Page 10: 第 12 回多言語組版研究会 多言語組版のためのフォント技術

l 10

OTF フォント・ファイル構造

テーブル名 内 容(代表的なテーブル)

head フォントの概要情報( EM, BBOX ,…)

BASE Baseline 情報

OS/2 OS/2 及び Windows メトリックス,その他

CFF(※) PostScript フォント・データ .(CID ベース)

glyf TrueType フォント・データ

cmap グリフへのマッピングデータ .

GSUB グリフの置換 .(グリフの縦横切り替え・グリフの合字・異字体切り替え)

GPOS グリフ位置置換(全角・半角・プロポーショナル切り替え)

hhea/vhea 横方向(横組)ヘッダ .

hmtx/vmtx 横方向(横組)メトリックス情報 .

Page 11: 第 12 回多言語組版研究会 多言語組版のためのフォント技術

l 11

フォント・ファイル構造( OS/2 の例 )

項目 内容1 weightClass 400 (Normal/Regular)

2 panose 2260000000Family Kind (2)=Text & DisplaySerif Style (2)=CoveWeight (6)=Medium

3 unicodeRange1 A00002ff ( Basic Latin,Latin-1 Supplement,Latin Extended-A,Latin Extended-B,IPA Extensions,Spacing Modifier Letters, ・・・)

4 unicodeRange2 68c7feff ( Superscripts and Subscripts,Currency Symbols,Combining Diacritical Marks for Symbols,CJK Unified Ideographs, ・・・)

5 codePageRange1 00020005 ( Latin 1 (1252),Cyrillic (1251),JIS/Japan (932))

6 TypoAscenderTypoDescenderTypoLineGap

880-1201000

Page 12: 第 12 回多言語組版研究会 多言語組版のためのフォント技術

l 12

OTL(OpenType Layout)

OTL 関係のテーブル

① GSUB/GPOS/BASE/JSTF/GDEF② script ・・・グリフの集合 ( Latin,平仮名、片仮名、漢字)③ language system (英語、フランス語、ドイツ語)

Page 13: 第 12 回多言語組版研究会 多言語組版のためのフォント技術

l 13

OTF の GSUB/ GPOS 構造

Page 14: 第 12 回多言語組版研究会 多言語組版のためのフォント技術

l 14

Script Script TagArabic arabCJK Ideographic haniCyrillic cyrl Default DFLTGreek grekHiragana kanaKatakana kanaLatin latnDevanagari Deva・・・

Script tags

Script tags identify the scripts represented in a OpenType Layout font. Script tags are defined by Microsoft Typography and correspond to the contiguous character code ranges in Unicode.

Script と ScriptTag

Page 15: 第 12 回多言語組版研究会 多言語組版のためのフォント技術

l 15

Registered features

Feature Tag Friendly Name

aalt Access All Alternatesafrc Alternative Fractionsfwid Full Widthsjp78 JIS78 Forms

jp83 JIS83 Forms

jp90 JIS90 Forms・・・ ・・・

Page 16: 第 12 回多言語組版研究会 多言語組版のためのフォント技術

l 16

日本語 OTF GSUB に属する feature テーブル

GSUB Features  概要

1 aalt 置き換え全般

2 jp78/jp83/expt/trad 字体切り替え

3 ital/ruby 書体の置き換え

4 ital リガチャーの置き換え

5 fwid/hwid/pwid プロポーショナル・全角・半角

6 vert/vrt2 縦横切り替え

7 afrc/dlig/dnom/sinf

8 ・・・

Page 17: 第 12 回多言語組版研究会 多言語組版のためのフォント技術

l 17

GSUB(glyf substitution)  Lookup タイプ  概要

1 Single substitution 1文字の置き換え

2 Multiple substitution 複数文字の置き換え

3 Alternate substitution

代替え文字の置き換え

4 Ligature substitution リガチャーの置き換え

5 Contextual substitution

文脈の置き換え

6 Chained contextual 綴り文字の置き換え7 Extention substitutio

n機能拡張

Page 18: 第 12 回多言語組版研究会 多言語組版のためのフォント技術

l 18

GSUB (グリフの置換)  InDesign-CS

Page 19: 第 12 回多言語組版研究会 多言語組版のためのフォント技術

l 19

GSUB (グリフの置換)  InDesign-CS

Page 20: 第 12 回多言語組版研究会 多言語組版のためのフォント技術

l 20

GSUB (グリフの置換)  InDesign-CS

Page 21: 第 12 回多言語組版研究会 多言語組版のためのフォント技術

l 21

GSUB (グリフの置換)  InDesign-CS

Page 22: 第 12 回多言語組版研究会 多言語組版のためのフォント技術

l 22

日本語 OTF GPOS に属する feature テーブル

GPOS Features  概要

1 halt/palt 半角・プロポーショナル字幅設定

2 vhal/vpal 縦方向字幅設定

3 kern カーニング字幅設定

日本語 OTF は欧文と比較すると少ない

Page 23: 第 12 回多言語組版研究会 多言語組版のためのフォント技術

l 23

GPOS(glyph positioning)  Lookup タイプ  概要

1 Single adjustment 1文字の調整

2 Pair adjustment 複数文字の調整

3 Cursive adjustment 続き文字の調整

4 Mark-to-Base attachment マーク(発音記号・ウムラルト)とベース文字の調整

5 Mark-to-Ligature attachment マークとリガチャーの調整

6 Mark-to-Mark attachment マークとマークの調整

7 Contextual Positioning 文脈の調整

8 Chained contextual Positioning chained 文脈綴り文字の調整

9 Extention Positioning 機能文字の調整

Page 24: 第 12 回多言語組版研究会 多言語組版のためのフォント技術

l 24

GDEF(glyph definition)項目  概要

1 Glyph class グリフの分類

2 Attachement   point list 合成時の参照する基準位置情報

3 Ligature Caret リガチャー文字のカーソル位置

4 Mark attachement class definition

マーク(発音記号・ウムラルト)の分類

注 日本語 Otf 使用していない

Page 25: 第 12 回多言語組版研究会 多言語組版のためのフォント技術

l 25

GDEF   Glyph class の例No. 0 startGid : 0 endGid: 445 Class=base glyf

No. 1 startGid : 446 endGid: 463 Class=mark glyf

No. 2 startGid : 464 endGid: 476 Class=base glyf

No. 3 startGid : 477 endGid: 481 Class=mark glyf

アラビア語の例

Page 26: 第 12 回多言語組版研究会 多言語組版のためのフォント技術

l 26

BASE ( baseline definition)

Page 27: 第 12 回多言語組版研究会 多言語組版のためのフォント技術

l 27

多言語用 OTF を使用して組版を行うには

1. OTF対応のアプリケーションを使用 ① 各国別の OS・アプリケーションの利用 ② ・・・

2.独自に制作

 ① 多言語( Uniscribe),feature(OTLS) OTLS:OpenType Layout Service library ② アプリケーションの PlugInAPI を利用

 ③ フォントデータから必要とするデータを直接   参照する。

 ④ ・・・

Page 28: 第 12 回多言語組版研究会 多言語組版のためのフォント技術

l 28

組版とフォント情報

グリフデータグリフ置換 エンコーディング

メトリックス情報

禁則処理

cmap/locaglyf/CFF

Hmtx/vmtx/GPOS

GSUB

行組版ルール 1行印字

Page 29: 第 12 回多言語組版研究会 多言語組版のためのフォント技術

l 29

プログラムで OTF のデータをアクセスすには?

ポイント① Glyph データへのアクセス -cmap -loca -maxp -glyf ② GSUB と GPOS では GSUB が先  -まず Glyph の置き換えがあるか  -常に Glyph のセット幅( run) を計算③ 適用する feature tabel の調査

④ Lookup   table/Sub table を調べる

⑤ Glyph に適用

Page 30: 第 12 回多言語組版研究会 多言語組版のためのフォント技術

l 30

① Coverage とは入力 table のこと  入力 Glyph 番号( class )に対し、出力 Glyph 番号 class )が対応

② Chained Contextual Substitute等、そ の言語について熟知していないと使用方法がわ からない?(BacktrackGlyph/InputGlyph/LookaheadGlyph)③ GDEF   Glyph class が定義

各国の言語をアクセスする際の注意点

Page 31: 第 12 回多言語組版研究会 多言語組版のためのフォント技術

l 31

④ post テーブル  cmap で定義でない文字に対し glyph の Glyph 名を記述。(例、アラビア語)

Glyf#: 867 GlyfNameI#: 632 uni067C.fina

Glyf#: 868 GlyfNameI#: 633 uni067C.init

Glyf#: 869 GlyfNameI#: 634 uni067C.inittall

Glyf#: 870 GlyfNameI#: 635 uni067C.initshort

Glyf#: 871 GlyfNameI#: 636 uni067C.medi

Glyf#: 872 GlyfNameI#: 637 uni067C.meditall

Glyf#: 873 GlyfNameI#: 638 uni067C.medivar1

各国の言語をアクセスする際の注意点

Page 32: 第 12 回多言語組版研究会 多言語組版のためのフォント技術

l 32

アラビア語フォントの解析

質問