NVDA Japanese enhancements


  • 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.


  • 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?


  • 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


  • 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
  • Technical limitations
    • keyboard, speech engine

Input methods

  • Correct pronunciation, wrong characters
    • '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


  • 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


  • 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