nvdajp_workshop
Table of Contents
~~SLIDESHOW~~
NVDA Japanese enhancements
- The Localization of NVDA for Japanese Language Users
- Takuya Nishimoto, Director of NVDA Japanese Team
- nishimotz @ gmail.com / Twitter @nishimotz
- to appear in
- PyCon JP 2012 NVDA Workshop in Japan (Sep.16,2012)
- NVDA Japanese public meeting (Sep.17,2012)
Prehistory
- 1980s: Japanese screen reader. character description.
- 1988: online braille translation by IBM Japan
- 1996: 95Reader. screen reader for Windows
- 1997: IBM Home Page Reader. male voice for text, female voice for link.
- 1998: PC-Talker. best selling in Japan.
- 1999: 95Reader with Japanese braille support.
- 2001: JAWS for Windows from IBM Japan.
- 2006: Mobile phone which announce input method.
History
- 2006: NVDA released.
- 2008: Internet Technology Research Committee (ITRC) Universal Access to the Internet (UAI) started discussions of NVDA Japanese support. (Prof. Takayuki Watanabe, Mitsue-Links Co.,Ltd)
- 2010: Japanese speech engine, input method, character desription. (Takuya Nishimoto, Masataka Shinke)
- 2011: Japanese braille support. 64bit system support. local community in Hiroshima city.
- 2012: NVDA Japanese team restructured.
Python & nvdajp
- PyCon mini JP, PyCon JP 2011
- Bazaar version control system, lunchpad.net, sourceforge.jp
- ctypes for Japanese speech engine, text analysis, braille display driver
- Python for NVDA and add-ons
- Plone for workshop.nvda.jp web site
- NLTK for natural language processing?
Internationalization
- NVDA Translation team: 40 languages.
- messages, documents, symbols
- character descriptions (from Chinese community)
- add-ons: OCR, Vocalizer
- community web site
Japanese support
- Dependency (Japanese support unavailable)
- eSpeak: multi-lingual open-source speech synthesizer
- liblouis: multi-lingual open-source braille translator
- speech engine is pluggable. braille translator is not.
- Input methods
- Character review functions
Community (2012)
- Team: non-profit developer community
- 24 persons
- weekly Skype meeting
- Japanese Users List
- 179 persons
- share development snapshots, e-mail discussions
- Increase people who can teach NVDA
- NVDAJP Friends
- text book for support volunteers
- Taiwan-Japan collaboration
- bi-monthly Skype meeting
Works
- Development for Japanese users
- enhancement for Japanese
- 2012.2.1jp: more than 2000 downloads
- discuss requirements for Japanese support
- Support international users of Japanese language
- add-on speech engine
- Participate in international team
- translation
- support East-Asia enhancement work
Japanese requirements
- Why/how Chinese support and Japanese support are different?
- No screen reader have merged Japanese version and international version?
- domestic conventions?
- screen readers since 1980s
- Characteristics of Japanese language
- uniqueness of writing system, braille system
- Technical limitations
- keyboard, speech engine
Input methods
- Correct pronunciation, wrong characters
- gohenkan http://bit.ly/NXaVI2
- 'ha i ri so u de su': 'Yes, it is an ideal.' / 'It is likely to go into inside.'
- serious problem for screen reader users
- Same technology
- Input Method Manager (IMM), Text Service Framework (TSF)
- Difference of writing systems
- candidates: many characters, many phrases
- candidates contain both ideograph characters and syllable characters
State transitions
- Chinese input composition
- initial state
- editing reading string (on the spot)
- candidate selection (composition window)
- read all candidates, press number key to select
- Japanese input composition
- initial state
- editing reading string (on the spot), before translation key pressed
- composition string (on the spot), after translation key pressed
- candidate selection (candidate window pop up), translation key pressed twice
- number keys are not used
Half shape/full shape
- History: single byte/double byte
- Unicode: shape does not correspond to byte size
- Input method
- disabled: half shape only
- enabled: half shape and full shape are selectable
- Discrimination
- not necessary for understanding the meaning
- necessary for writing, typing URLs, filling web forms (especially user authorization), software development
Characters 1
- Latin (alphabet)
- half shape, full shape
- Number
- half shape roman digit, full shape roman digit, ideograph
- Pronunciation syllable (Kana)
- Hiragana: grammatical words, inflectional endings
- Katakana: foreign words. half shape and full shape
Characters 2
- Ideographs
- Kanji in Japanese, Hanzi in Chinese, Hanja in Korean
- Chinese traditional > Japanese > Chinese simplified
- typically many readings for one character
- Symbols, punctuations
- 600 full shape symbols by Japanese standard.
- some symbols available for half shape and full shape
Writing system 1
- Sentence contains both syllables and ideographs
- Word is not separeted with spaces
- Pronunciation of ideograph depends on the context
- Input method
- syllable-to-ideograph conversion using dictionary
Writing system 2
- Braille
- popular six-dot system
- syllable based symbols are defined for Japanese braille.
- reduce ambiguity: word break rules
- 'ha i ri so - de su'
- 'ha i/ ri so - de su'
- ideographic braille: six-dot system and eight-dot system
- Speech synthesis
- pronunciation of single character (spelling reading) is undefined.
- Morphological analysis: useful in many places
- based on dictionary, and sometimes statics (machine learning)
- reading 'ri so u' / pronunciation 'ri so -'
Character descriptions 1
- Chinese: many examples and explanations
- announce first or announce all
- Japanese: one example or explanation
- written in syllable character
- Usage
- input method candidates
- character review
- text edit: very frequently
Character descriptions 2
- Charater description
- spelling reading (with dictionary)
- ideographic character: necessary for descrimination
- both for speech and braille display
- phonetic reading: help listening of speech
- latin character for English
- syllable character for Japanese katakana and hireagana
- Character attributes
- similarity to announce capital letter
- possible with speech, beep, pitch
- half-shape/full-shape (Latin, katakana, number, symbol)
- types of syllable character: katakana/hiragana
Syllable input
- Transliteration: Latin-to-syllable (roman)
- US key array
- Japanese key array
- braille input (Latin six-dot system)
- Direct: (kana)
- Japanese key array
- braille input (Japanese six-dot system)
Keyboard 1
- 'Half-shape/Full-shape' key
- enable or disable input method (not switching systems)
- with/without ALT modifier key
- US key array: ALT-tilde is equivalent
- 'Non-Conversion' key
- transliteration mode change
- do not convert reading string (Hiragana)
- convert to foreign word charaters (Katakana)
- 'Conversion' key
- space key is equivarent in most cases
- 'Katakana/Hiragana/Roman' key
- with ALT modifier, syllable input mode change
Keyboard 2
- Caps Lock key
- in Japanese array, cannot be used as NVDA modifier key
- Variations
- Non-Conversion equivalents: Ctrl-U,I,O,P and F6-F9
- Preferences
- change mode before typing syllables
- (non) convert after typing syllables
Japanese speech
- Very few free software
- SAPI4 engines still popular
- W3C SSML 1.1: poorly supported in Japan
- JTalk (based on Open JTalk, MMDAgent)
- Hidden Markov Model (HMM) synthesizer, BSD license
- Mecab text processor
- ultra-fast speech
- JTalk2
- automatic language change
- JTalk for 'ja'
- eSpeak for others
Applications
- Input method editors (third parties)
- ATOK from Just System, Google Japanese Input, Baidu IME
- PC-Talker companions
- NetReader may be associated with web pages.
- OpwBE: braille translation tool
- Hidemaru editor, domestic e-mail clients
- ControllerClient enhancement: speakSpelling
Braille support
- Devices: KGS braille display
- Japanese company: KGS Corporation
- braille input support
- serial port support requested from users
- vendor library depends on serial port emuration
- Braille translator
- experimental translator
- new version is under development
- liblouis enhancement?
- Number of characters and number of cells
- wrong cursor position
Braille translator
- (1) Pre-process
- separation: Japanese, English, computer
- (2) Morphological analysis (Japanese)
- Mecab already used for JTalk speech engine
- (3) Morphological unit processing (Japanese)
- word break, long vowel marks
- Latin, number, Japanese symbol
- number translation
- (4) Word break detemination (Japanese)
- (5) Post-process: make dot patterns
- merge Japanese and English/computer
- foreign mark, cap mark, number mark, braille symbols
Future
- Separate interface language and content language
- speech is already multilingual
- multilingual input methods support
- Costly development in Japanese community
- digital signature required for release
- is our language really special?
- Character/symbol description, abbreviations(chk, rbtn)
- efficiency, completeness, conventions
- Touch device and input methods
- bluetooth keyboard for smartphone
nvdajp_workshop.txt ยท Last modified: 2012/09/13 22:15 by nishimotz