第 12 回多言語組版研究会 多言語組版のためのフォント技術
DESCRIPTION
第 12 回多言語組版研究会 多言語組版のためのフォント技術. l. 内田富久. 内 容. OpenType フォントの現状 OpenType フォントと TrueType フォントの比較 OpenType のタイポグラフィー向け機能 組版ソフトは OpenType をどう使うか その他. フォントの分類. OpenType フォントの現状. ① 日本語 OTF CFF ベース( The Type 2 Charstring Format ) ※CFF - PostScript (Compact Font Format) - PowerPoint PPT PresentationTRANSCRIPT
1
第 12回多言語組版研究会
多言語組版のためのフォント技術
l 内田富久
l 2
内 容
1. OpenType フォントの現状
2. OpenType フォントと TrueType フォントの比較
3. OpenType のタイポグラフィー向け機能
4.組版ソフトは OpenType をどう使うか
5.その他
l 3
フォントの分類
フォントの分類 概 要 プラット・ホーム
TrueType データ構造 Windows/Mac/Unix
AppleMicrosoft
CIDフォント
ATM フォント(スクリーン)
プログラム構造
*ATM :ラスタライザーが必要
Mac ( Windows)Adobe
(プリンタ) PostScrip プリンタ
OpenType *TrueType フォント構造 Windows/Mac Microsoft
Adobe
Bitmap フォント .fon / 独自 組み込み機器 /Unix
l 4
OpenType フォントの現状
① 日本語 OTF
CFF ベース( The Type 2 Charstring Format )※ CFF - PostScript (Compact Font Format)
② 欧文 OTF
TrueType ベースが多い
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 フォントの特徴
l 6
注意点
① フォントには AJ1-4 の文字数( 15,444 字) あるが全ての文字を表示するにはアプリケー ション側が管理。 OTF の Feature 機能も同様。
② 現在 InDesign ・ Illustrator-CS はサポート しているがそれ以外は通常の TTF ・ CID と同様。
S-JIS ・システム外字文字数。
日本語 OpenType フォントの特徴
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)
l 8
Adobe-AJ1-4 文字セット
l 9
OTF フォント・ファイル構造
テーブル情報
cmapglyfGSUBGPOS・・・
1. Offset Table
実データ
cmap
glyf
GSUB
GPOS
・・・
2.実データ
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 横方向(横組)メトリックス情報 .
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
l 12
OTL(OpenType Layout)
OTL 関係のテーブル
① GSUB/GPOS/BASE/JSTF/GDEF② script ・・・グリフの集合 ( Latin,平仮名、片仮名、漢字)③ language system (英語、フランス語、ドイツ語)
l 13
OTF の GSUB/ GPOS 構造
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
l 15
Registered features
Feature Tag Friendly Name
aalt Access All Alternatesafrc Alternative Fractionsfwid Full Widthsjp78 JIS78 Forms
jp83 JIS83 Forms
jp90 JIS90 Forms・・・ ・・・
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 ・・・
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機能拡張
l 18
GSUB (グリフの置換) InDesign-CS
l 19
GSUB (グリフの置換) InDesign-CS
l 20
GSUB (グリフの置換) InDesign-CS
l 21
GSUB (グリフの置換) InDesign-CS
l 22
日本語 OTF GPOS に属する feature テーブル
GPOS Features 概要
1 halt/palt 半角・プロポーショナル字幅設定
2 vhal/vpal 縦方向字幅設定
3 kern カーニング字幅設定
日本語 OTF は欧文と比較すると少ない
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 機能文字の調整
l 24
GDEF(glyph definition)項目 概要
1 Glyph class グリフの分類
2 Attachement point list 合成時の参照する基準位置情報
3 Ligature Caret リガチャー文字のカーソル位置
4 Mark attachement class definition
マーク(発音記号・ウムラルト)の分類
注 日本語 Otf 使用していない
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
アラビア語の例
l 26
BASE ( baseline definition)
l 27
多言語用 OTF を使用して組版を行うには
1. OTF対応のアプリケーションを使用 ① 各国別の OS・アプリケーションの利用 ② ・・・
2.独自に制作
① 多言語( Uniscribe),feature(OTLS) OTLS:OpenType Layout Service library ② アプリケーションの PlugInAPI を利用
③ フォントデータから必要とするデータを直接 参照する。
④ ・・・
l 28
組版とフォント情報
グリフデータグリフ置換 エンコーディング
メトリックス情報
禁則処理
cmap/locaglyf/CFF
Hmtx/vmtx/GPOS
GSUB
行組版ルール 1行印字
l 29
プログラムで OTF のデータをアクセスすには?
ポイント① Glyph データへのアクセス -cmap -loca -maxp -glyf ② GSUB と GPOS では GSUB が先 -まず Glyph の置き換えがあるか -常に Glyph のセット幅( run) を計算③ 適用する feature tabel の調査
④ Lookup table/Sub table を調べる
⑤ Glyph に適用
l 30
① Coverage とは入力 table のこと 入力 Glyph 番号( class )に対し、出力 Glyph 番号 class )が対応
② Chained Contextual Substitute等、そ の言語について熟知していないと使用方法がわ からない?(BacktrackGlyph/InputGlyph/LookaheadGlyph)③ GDEF Glyph class が定義
各国の言語をアクセスする際の注意点
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
各国の言語をアクセスする際の注意点
l 32
アラビア語フォントの解析
質問