From 0a5f59a9aa25b3de7e9659b39ad201aaf7eb5a67 Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Fri, 27 Sep 2019 20:24:34 +0200 Subject: 2019-09-27 18:10:00 --- .../context/2017/context-2017-features.tex | 153 +++++++++++++++++++++ 1 file changed, 153 insertions(+) create mode 100644 doc/context/presentations/context/2017/context-2017-features.tex (limited to 'doc/context/presentations/context/2017/context-2017-features.tex') diff --git a/doc/context/presentations/context/2017/context-2017-features.tex b/doc/context/presentations/context/2017/context-2017-features.tex new file mode 100644 index 000000000..772de4ff6 --- /dev/null +++ b/doc/context/presentations/context/2017/context-2017-features.tex @@ -0,0 +1,153 @@ +\usemodule[present-lines] + +\definecolor[maincolor][r=.4,g=.4] + +\startdocument[title=Font features,subtitle={\CONTEXT\ 2017 Maibach}] + +\startchapter[title=What are they] + +\startitemize + \startitem + built in substitution that is often optional like ligatures but for some + languages mandate + \stopitem + \startitem + built in positioning that is assumed to be applied like kerning, mark + anchoring cursive + \stopitem + \startitem + external properties like coloring, spacing, fallback combinations + \stopitem + \startitem + engine related tricks like expansion and protrusion + \stopitem + \startitem + tracing options + \stopitem + \startitem + whatever you like \unknown\ so let me know + \stopitem + \blank[2*big] + \startitem + so in \CONTEXT\ we have font features (driven by font) and pseudo + features (driven by additional needs) + \stopitem +\stopitemize + +\stopchapter + +\startchapter[title=Substitution] + +\startitemize + \startitem + single: replace one by another + \stopitem + \startitem + alternate: replace one by one of a set + \stopitem + \startitem + multiple: replace one by multiple others + \stopitem + \startitem + ligature: replace multiple by one shape + \stopitem + \blank[2*big] + \startitem + contextual lookups and replacements with look back and look ahead + \stopitem +\stopitemize + +\stopchapter + +\startchapter[title=Positioning] + +\startitemize + \startitem + single: repositioning a glyph (with optional marks), this includes + traditional kerning + \stopitem + \startitem + pairwise: repositioning two adjacent glyphs (with optional marks) + \stopitem + \startitem + anchoring: often used for marks to base glyphs, ligatures and other marks + \stopitem + \startitem + attachment: often used for cursive scripts, pasting glyphs in a word together + \stopitem + \blank[2*big] + \startitem + contextual lookups and positioning with look back and look ahead + \stopitem +\stopitemize + +\stopchapter + +\startchapter[title=Related] + +\startitemize + \startitem + analyze: needed for dealing with features that need information about + initial, medial, final and isolated properties + \stopitem + \startitem + reordering: needed for script like devanagari + \stopitem + \startitem + spacing: deals with for positioning glyphs and spaces + \stopitem +\stopitemize + +\stopchapter + +\startchapter[title=Pitfalls] + +\startitemize + \startitem + solutions for similar tasks can be quite different which makes tracing + or checking sometimes hard (many ways to make ligatures) + \stopitem + \startitem + order matters and demands careful font design but it is hard to predict + all cases + \stopitem + \startitem + a sloppy font design can result in a performance hit or huge fonts + \stopitem + \startitem + features can be bugged and fonts vendors seldom have an update policy + \stopitem + \startitem + shapers can differ due to assumptions, heuristics, interpreting + specifications, bugs, \unknown + \stopitem +\stopitemize + +\stopchapter + +\startchapter[title=Examples] + \startitem + all kind of substitutions: \type {2017-features-substitutiontest.tex} + \stopitem + \startitem + simple inter character kerns: \type {2017-features-kerntest.tex} + \stopitem + \startitem + single character positioning: \type {2017-features-singletest.tex} + \stopitem + \startitem + pairwise character positioning: \type {2017-features-pairtest.tex} + \stopitem + \startitem + contextual positioning: \type {2017-features-contexttest.tex} + \stopitem + \startitem + kerning with space (glue): \type {2017-features-spacetest.tex} + \stopitem +\startitemize + +\stopitemize + +\stopchapter + +\stopdocument -- cgit v1.2.3