Presentation is loading. Please wait.

Presentation is loading. Please wait.

Writing System Implementation On-the-Fly Extensibility for the common man Sharon Correll, SIL International Copyright © 2001.

Similar presentations


Presentation on theme: "Writing System Implementation On-the-Fly Extensibility for the common man Sharon Correll, SIL International Copyright © 2001."— Presentation transcript:

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


Download ppt "Writing System Implementation On-the-Fly Extensibility for the common man Sharon Correll, SIL International Copyright © 2001."

Similar presentations


Ads by Google