デジタルタイポグラフィシステムによって実現されたタイポグラフィ機能(Typographic Features)は、従来のタイポグラフィをコンピュータシステムで再現するために必要なニーズに応え、さらにその拡張によってデジタルタイポグラフィの可能性を広げた。

一般的に使用されているシステムには、マイクロソフトとアドビによって開発されたOpenType、AppleのApple Advanced Typography(AAT)、および国際SILのGraphiteの3つがある。以下の一覧は、OpenTypeとAATの機能に関する情報を提供する。Graphiteには固定されたタイポグラフィ機能の定義はなく、代わりにフォントが独自の機能を定義できる仕組みを提供している。

OpenType タイポグラフィ機能 OpenTypeフォーマットは、特定のフォントがサポートする可能性のあるさまざまなタイポグラフィ機能を定義している。Adobe InDesignやLibreOffice/OpenOffice、Lua/XeTeXの最近のバージョンなどの一部のソフトウェアでは、これらの機能をユーザーが操作できるようになっており、例えば装飾的なデザインが施された文字のバリエーション(Swash / スワッシュ)を有効にしたり、高さの揃った数字(Ranging digits / レンジング数字、あるいは Lining Figures / ライニングフィギュア)とレンジングされていない、オールドスタイルフィギュア(Old-Style Figures)の数字を選択したりすることができる。

また、主要なウェブブラウザもOpenType機能をサポートしており、font-variantやfont-feature-settingsプロパティなどを使用してOpenType機能を設定ことが可能である。

以下の表は、OpenType仕様のバージョン1.8.1で定義されている機能を一覧にしている。「タイプ」欄のコードについては、表の後で説明している。OpenTypeの機能は、特定の言語スクリプトや特定の言語、または特定の書字モードにのみ適用される場合がある。そのため、機能はそれに応じていくつかの表に分けられている。

主に南アジアの書体(インド系文字/ブラーフミー系文字)向け機能 (この表は翻訳途中です) 正式名タグタイプ説明Above-base FormsabvfS1文字の上部に配置される母音記号を置換する。クメール文字の「ើ」の「ី」部分など。Above-base Mark PositioningabvmP4,5文字の上部に配置される記号の配置を制御する。Above-base SubstitutionsabvsS4子音字と上部に配置される母音記号をまとめて合字として処理する。テルグ文字・カンナダ文字・シンハラ文字などで使用。Below-base FormsblwfS4ヴィラーマ+子音字の組み合わせを、子音字の下側に配置される合字に置換する。テルグ文字・カンナダ文字・マラヤーラム文字・クメール文字・ビルマ文字などで使用。Below-base Mark PositioningblwmP4,5文字の下部に配置される記号の配置を制御する。Below-base SubstitutionsblwsS4子音字とその下部に配置される母音記号をまとめて合字として処理する。例:デーヴァナーガリーの「र」+「◌ु」を「रु」とする場合Pre-base FormsprefS4 ヴィラーマ+子音字の組み合わせを、子音字の左側に配置される合字に置換する。クメール文字の「◌្រ」、マラヤーラム文字の「◌്ര」など。Pre-base SubstitutionspresS4,5Ligates consonant combinations.Post-base SubstitutionspstsS4Ligates a final consonant+consonant.Post-base FormspstfS4ヴィラーマ+子音字の組み合わせを、子音字の右側に配置される合字に置換する。クメール文字の「◌្យ」 グルムキー文字の「◌੍ਯ」, マラヤーラム文字の「◌്യ」「◌്വ」など。DistancedistP2文字間の距離の調節。('kern'とは異なりどんな文字にも適用可能)AkhandakhnS4ヒンディー語で「不可分」の意。 子音クラスタの表記、とりわけkṣとjñの組み合わせに用いられるHalant FormshalnS4末子音+ヴィラーマ(halant)の組み合わせに置換する。Half FormhalfS4子音クラスタを表記する際、子音字+ヴィラーマ(halant)を半字形に置換する。Nukta FormsnuktS4子音字+ヌクター(借用語の音を表記するための点)を1つのグリフに置換する。Rakar FormsrkrfS4Replaces halant+ra with a rakar glyph, indicating it is part of a conjunct.Reph FormrphfS4Replaces initial ra+halant with a final reph mark, indicating part of a conjunct.Vattu VariantsvatuS4Replaces consonant+rakar combinations with a vattu variant ligature.Conjunct FormscjctS4子音+ヴィラーマ(halant)+子音を、子音クラスターへ置換する。Conjunct Form After RocfarS1クメール文字រ周りの子音結合。

主に東アジアの書体(中国語、日本語、韓国語)向け機能 正式名タグタイプ説明Simplified FormssmplS1簡略化した字形(簡体字)への置き換えを有効にするTraditional FormstradS1,3中国語簡体字または日本語の漢字において、旧字体への置き換えを有効にするTraditional Name FormstnamS1均等な幅(等幅)の字形への置き換えを有効にするExpert FormsexptS1エキスパート字形への置き換えを有効にするHojo Kanji Formshojo補助漢字を含む字形への置き換えを有効にするNLC Kanji Formsnlck印刷標準字体への置き換えを有効にするJIS 78 Formsjp78S1,3JIS C 6226-1978(JIS78)規格の日本語字形への置き換えを有効にするJIS 83 Formsjp83S1JIS X 0208-1983(JIS83)規格の日本語字形への置き換えを有効にするJIS 90 Formsjp90S1JIS X 0208-1990(JIS90)規格の日本語字形への置き換えを有効にするJIS 04 Formsjp04JIS2004 規格の日本語字形への置き換えを有効にするHangulhnglS1,3韓国語における漢字をハングル文字に置き換える機能を有効にするLeading Jamo FormsljmoS4韓国語の字体における「Leading Jamo」を有効にするTrailing Jamo FormstjmoS4韓国語の字体における「Trailing Jamo」を有効にするVowel Jamo FormsvjmoS4韓国語の字体における「Vowel Jamo」を有効にするFull WidthsfwidS1等幅全角字形(全角)への置き換えを有効にするHalf WidthshwidS1,P1等幅半角字形(半角)への置き換えを有効にするAlternate Half WidthshaltP1字幅半角メトリクスを有効にするThird WidthstwidS1,P1等幅三分字形への置き換えを有効にするQuarter WidthsqwidS1等幅四分字形への置き換えを有効にするProportional WidthspwidS1プロポーショナル字形への置き換えを有効にするProportional AlternatespaltP1プロポーショナルメトリクスを有効にするProportional KanapknaS1「かな」および「かな」関連の字形セットにおいて、プロポーショナル字形への置き換えを有効にするRuby Notation FormsrubyS1ルビ用字形を有効にするHorizontal Kana AlternateshknaS1標準のかなを、横書き専用にデザインされた字形に置き換えるVertical KanavknaS1標準のかなを、縦書き専用にデザインされた字形に置き換えるCentered CJK PunctuationcpctP1句読点やカンマ、ピリオドなどの約物(句読点)を、日本語や中国語などの縦書き、横書きにおいて中央に配置する、「中央配置CJK句読点」を有効にする

主に西アジア(セム系文字、アラビア語)や他の筆記体向けの機能 (この表は翻訳途中です) 正式名タグタイプ説明Cursive PositioningcursP3Precise positioning of a letter's connection to an adjacent oneJustification AlternatesjaltS3User selectable wider and narrower alternates, used especially for justifyingMark Positioning via SubstitutionmsetS5Used in Windows 95 for positioning of Arabic marksRequired Contextual AlternatesrcltS6Contextual alternates required for correct text display which differs from the default join for other letters, required especially important by ArabicRequired LigaturesrligS3Ligatures required for correct text display (any script, but in cursive)Isolated FormsisolS1Substitutes a special form of a letter occurring outside a word (required by Arabic and Syriac)Initial FormsinitS1Substitutes a special form of a letter occurring at the beginning of a word (required by Arabic and Syriac)Medial FormsmediS1Substitutes a special form of letters between other letters in words (required by Arabic and Syriac)Medial Form #2med2S5SyriacTerminal FormsfinaS1Substitutes a special form of a letter at end of words (required by Arabic and Syriac)Terminal Form #2fin2S5SyriacTerminal Form #3fin3S5SyriacFinal Glyph on Line AlternatesfaltS3Replaces final glyph on the line with an alternateStretching Glyph DecompositionstchS2Substitutes a special form of a stretchy glyph onto one or more letters (required by Syriac)

大小の2つの字形を持つアルファベット(ラテン文字、ギリシャ文字、キリル文字など)向けの機能 正式名タグタイプ説明Small CapssmcpS1小文字をスモールキャップスに置き換えるCapitals to Small Capsc2scS1大文字をスモールキャップスに置き換えるPetite CapspcapS1小文字をプチキャップスに置き換えるCapitals to Petite Capsc2pcS1大文字をプチキャップスに置き換えるUnicaseunicS1ユニケースに置き換えるCapital SpacingcpspP1大文字同士の間隔を調整するための機能を有効にするCase Sensitive FormscaseP1大文字専用の記号や約物のデザイン調整を行う機能を有効にするItalicsitalS1欧文字形を対応するイタリック字形に置き換えるOrdinalsordnS6,4アルファベット字形を対応する上付き序数表記に置き換える

書字方向に依存する機能 (この表は一部翻訳途中です) 正式名タグタイプ説明Alternative Vertical MetricsvaltP1Positions shorter characters to be centered vertically with full-height charactersAlternative Vertical Half MetricsvhalP1縦組み字幅半角メトリクスを有効にするProportional Alternate Vertical MetricsvpalP1縦組みプロポーショナルメトリクスを有効にするVertical AlternatesvertS1縦書きモードの場合に縦書き用に調整された字形に置き換えるVertical Alternates and Rotationvrt2S1Replaces characters with forms suitable for vertical writing, possibly by rotating 90°Vertical Alternates for RotationvrtrS1Replaces characters with forms suitable for vertical writing, possibly by shifting or shapeVertical KerningvkrnP2,8縦組みペアカーニングを有効にするLeft-to-right glyph alternatesltraS1Replaces characters with forms befitting left-to-right presentation (except mirrored forms)Left-to-right mirrored formsltrmS1Replaces characters with possibly mirrored forms befitting left-to-right presentationRight-to-left glyph alternatesrtlaS1Replaces characters with forms befitting right-to-left presentation (except mirrored forms)Right-to-left mirrored formsrtlmS1Replaces characters with possibly mirrored forms befitting right-to-left presentation

数字や数学記号向けの機能 (この表は一部翻訳途中です) 正式名タグタイプ説明Lining FigureslnumS1数値字形をライニング数字に置き換えるOldstyle FiguresonumS1数値字形をオールドスタイル数字に置き換えるProportional FigurespnumS1均等な幅(等幅)の数値字形セットを、対応するプロポーショナルな幅の字形セットに置き換えるTabular FigurestnumS1プロポーショナルな幅の数値字形セットを、対応する均等な幅(等幅)の字形セットに置き換えるFractionsfracS4スラッシュで区切られた数字を斜線による分数に置き換えるAlternative FractionsafrcS4Converts figures separated by slash with alternative stacked fraction formDenominatordnomS1Converts to appropriate fraction denominator form, invoked by fracNumeratornumrS1Converts to appropriate fraction numerator form, invoked by fracScientific InferiorssinfS1as in "H2O", "SOx" or "YCbCr" (but using the same font weight and predefined position in contrast these plain HTML subs and sups)Slashed ZerozeroS1Replaces 0 figure with slashed 0Mathematical GreekmgrkS1Replaces Greek characters with special forms for use in mathematicsFlattened accent formsflacThis feature is applied to individual glyphs during layout of math formula.Dotless FormsdtlsThe dotless forms are to be used as base forms for placing mathematical accents over them.Math script style alternatessstyThis feature can have a parameter indicating the script level: 1 for simple subscripts and superscripts, 2 for second level subscripts and superscripts (that is, scripts on scripts), and so on. (Currently, only the first two alternates are used). For glyphs that are not covered by this feature, the original glyph is used in subscripts and superscripts.

全文字体系向けのリガチャ、および代替字形の機能 (この表は一部翻訳途中です) 正式名タグタイプ説明Access All AlternatesaaltS1,3Special feature: used to present user with choice all alternate forms of the characterSwashswshS1,3スワッシュ字形に置き換えるContextual SwashcswhS8Converts letter to a swashed version based on characters around the letterContextual AlternatescaltS6Applies a second substitution feature based on a match of a character pattern within a context of surrounding patternsHistorical FormshistS1Obsolete forms of characters to be applied at the user's discretion, cf. hligLocalized FormsloclS1ローカライズされた字形で置き換えるRandomizerandS3Replaces character with random forms (meant to simulate handwriting)Alternate Annotation FormsnaltS1,3Provides user access to circled digits, inverse letters etc.Character Variant 1–99cv01–cv99S3Multiple variants of a single character, which may not apply to many other characters, see references for voluminous documentationStylistic AlternatessaltS1,3装飾的な代替字形に置き換えるStylistic Set 1 – 20ss01-ss20S1Replaces character with one from a font-specific set of stylistic alternativesSubscriptsubsS1下付き文字に置き換えるSuperscriptsupsS1上付き文字に置き換えるTitling AlternatestitlS1Replaces characters with forms suited for large type, as in titlesRequired Variation AlternatesrvrnS1Special variants of a single character, which need apply to specific font variation, required by variable fontsContextual LigaturescligS8Applies a second ligature feature based on a match of a character pattern within a context of surrounding patternsDiscretionary LigaturesdligS4装飾的な効果を目的とする場合や特定のデザインに合わせて使用するリガチャ(合字)を有効にするHistorical LigatureshligS1Obsolete ligatures to be applied at the user's discretionStandard LigaturesligaS4Replaces (by default) sequence of characters with a single ligature glyph

全文字体系向けの配置機能 (この表は一部翻訳途中です) 正式名タグタイプ説明Glyph Composition/DecompositionccmpS4,2字体組版や分解を有効にするKerningkernP2,8カーニング(字形間のスペース調整)を有効にするMark PositioningmarkP4,5Fine positioning of a mark glyph to a base characterMark-to-mark PositioningmkmkP6Fine positioning of a mark glyph to another mark characterOptical BoundsopbdP1Re-positions glyphs at beginning and end of line, for precise justification of text.Left BoundslfbdP1Re-positions glyphs at end of line. Called by opbd.Right BoundsrtbdP1Re-positions glyphs at beginning of line. Called by opbd.

全文字体系向けの特殊機能 正式名タグタイプ説明Optical sizesizeオプティカルサイズを有効にするOrnamentsornmS3,1装飾的な図形や記号を提供する機能(オーナメント)を有効にする

置換および配置コードの凡例 以下は、上記の表で「タイプ」列に使用されているOpenTypeのルックアップテーブルについて説明する。Sは置換を、Pは配置を表す。多くの場合、1つの機能が複数の種類のテーブルで実装できること、そして仕様によってはテーブルの種類が明示されていないことがある点に注意が必要である。 タイプ表記正式なタイプ名説明S1GSUB 1単一の字形を別の字形に単純に置換S2GSUB 21つの文字を複数の字形に置換S3GSUB 3バリアント(異体字)の選択S4GSUB 4リガチャ(合字)S5GSUB 5コンテキスト(文脈)に応じた置換S6GSUB 6連鎖コンテキスト置換S7GSUB 764kBを超えるGSUBテーブルの拡張S8GSUB 8逆連鎖コンテキスト置換P1GPOS 1単一の字形の位置調整P2GPOS 2ペアの字形の位置調整P3GPOS 3筆記体の接続(文字がつながって見えるような位置調整)P4GPOS 4基本字形に対するマーク字形(発音記号など)の位置調整P5GPOS 5リガチャに対するマーク字形の位置調整P6GPOS 6別のマーク字形に対するマーク字形の位置調整P7GPOS 7コンテキストに応じた位置調整P8GPOS 8拡張されたコンテキスト位置調整P9GPOS 964kBを超えるGPOSテーブルの拡張

AAT タイポグラフィ機能 他の値と相互排他的に1つの値を取る機能:

Annotation nalt No Annotation Box Annotation Rounded Box Annotation Circle Annotation Inverted Circle Annotation Parenthesis Annotation Period Annotation Roman Numeral Annotation Diamond Annotation Character Alternatives No Alternates … rand; aalt, calt, falt, jalt, salt, ssXX, hkna/vkna, rtla, vrt2 Character Shape half, ruby; ljmo, vjmo, tjmo Traditional Characters trad Simplified Characters smpl JIS 1978 Characters jp78 JIS 1983 Characters jp83 JIS 1990 Characters jp90 Traditional Characters, Alternative Set 1…5 tnam, hojo, nlck Expert Characters expt, locl CJK Latin Spacing Half-width hwid, halt Proportional pwid, palt Default Latin Full-width Latin fwid Cursive Connection init, medi/med2, fina/fin2/fin3; haln, nukt, vatu, rphf, pres, pstf/psts Unconnected isol