Download presentation
Presentation is loading. Please wait.
PublishBuck Townsend Modified over 8 years ago
1
Writing System Implementation On-the-Fly Extensibility for the common man Sharon Correll, SIL International Copyright © 2001
2
Understanding the need How computers were designed to handle writing systems
3
Understanding the need Problems Data input Characters needed don’t match keyboard keys More characters needed than available on keyboard Rendering Contextual forms Positioning Stacking Reordering Ligatures Split letter forms
4
Understanding the need How computers need to work
5
Existing“smart module” technologies Operating system solutions Standard system keyboards Built-in rendering systems Windows: Uniscribe Java
6
Inadequacies of built-in solutions Orthographic variations of standard scripts Variant orthographies for lesser-known languages represent small market share Standardization issues Experimental orthographies
7
Inadequacies of built-in solutions Examples Khmer script used for Krung Consonants with single and double tick marks Ethiopic script used for Me’en Extra syllabic forms to handle an additional vowel Arabic script Additional vowels Parkari: implosive dental d, retroflexed l, voiceless h Vowel mark in relation to consonant & shadda
8
Inadequacies of system solutions Need: “smart modules” that can be customized
9
Customizable solutions Keyboarding Keyman (Tavultesoft) Rendering Apple Macintosh: ATSUI/AAT Graphite (SIL International) Windows platform Rule-based programming language (OpenType?)
10
Keyman (Keyboard Manager) Available from Tavultesoft: www.tavultesoft.com/keyman Current version: 5.0 Rule-based programming language Integrated keyboard editor “ANSI” and Unicode
11
Technical overview of Keyman TIKE Compiler Keyman Program (.KMN) Keyman Executable (.KMX) Driver Operating system Application software Config- uration Program keystrokes characters
12
Graphite Windows platform Unicode-compliant, including support for PUA Bidirectional support Contextual glyph selection Ligatures Stacking diacritics Glyph positioning and attachment Glyph reordering Cursor management, split cursors
13
Technical overview of Graphite Compiler GDL program TrueType font extended TrueType font Engine Text- processing application Output device
14
Graphite Demo
15
Steps in extending a writing system “on the fly” Choose the encoding Add glyphs to the font Implement keyboarding extensions Implement rendering extensions
16
Choosing the encoding Private Use Area? Is the character a typographical variant of a standard Unicode character? Semantics, not glyph shape (eg. ) Unicode normative properties Can the character be composed from standard Unicode characters? Base character plus diacritic (eg, ≡ c + ˜) Digraph or multigraph (eg, mb ≡ m + b) Disadvantages to the PUA
17
Choosing the encoding Private Use Area? Is the character a typographical variant of a standard Unicode character? Semantics, not glyph shape (eg. ) Unicode normative properties Can the character be composed from standard Unicode characters? Base character plus diacritic (eg, ≡ c + ˜) Digraph or multigraph (eg, mb ≡ m + b) Disadvantages to the PUA
18
Example Add a retroflex “s” to Arabic script PUA character: U+E000 Keyboard sequence: “s~” Rendering requires four contextual forms Isolated Word-initial Word-medial Word-final
19
Example: font extensions Add four glyphs to the font Map U+E000 to isolated form Add postscript names for the new glyphs
20
Example: keyboarding Add a rule to the Keyman program Existing rule + ‘s’ > U+0633 Rule to add U+0633 + ‘~’ > U+E000
21
Example: rendering Extend GDL program Define Graphite attributes for PUA characters breakweight directionality Add rules Add glyphs to classes Add positioning information
22
Example: rendering More specifically: Add four glyph definitions to GDL program Add the four glyphs to the four contextual classes The rules to handle contextual selection already exist Define attachment points for attaching diacritical marks
23
Example: rendering More specifically: Add four glyph definitions to GDL program Add the four glyphs to the four contextual classes The rules to handle contextual selection already exist Define attachment points for attaching diacritical marks
24
Example: rendering More specifically: Add four glyph definitions to GDL program Add the four glyphs to the four contextual classes The rules to handle contextual selection already exist Define attachment points for attaching diacritical marks
25
Example: results
26
Status of Graphite Graphite beta version 0.8 Windows platform Text-editing application: WorldPad Not available in standard commercial applications Open-source
27
Future of Graphite SIL FieldWorks linguistic applications Open-sourcing Web site: graphite.sil.org Linux, Java Other open-source possibilities Integration into open-source applications –ActiveX Extensions to Graphite Programming environment Graphite font development
28
Summary Graphite and Keyman allow custom writing system implementations for minority languages Modest level of effort More support needed Wider variety of platforms Application integration
29
Contact us Visit our web sites: www.sil.org graphite.sil.org Sign up on our mailing lists: graphite.sil.org/mailman Write: SIL Non-Roman Script Initiative 7500 W. Camp Wisdom Rd. Dallas, TX 75236 E-mail: graphite_nrsi@sil.org Phone: 972/708-7440
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.