New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CJK Character Descriptions and Definitions #635
Comments
Comment 2 by m11chen on 2010-05-03 08:31
|
Comment 3 by m11chen on 2010-11-17 04:48 Modified files: ..\source\appModules_default.py - Line 901: Note that the definitions and nouns of characters can be stored in either the builtin.dic, default.dic, or any other speech dictionaries specific to synthesizers. The advantage of storing in voice dictionaries or default dictionary instead of builtin.dic is the ability to modify entries through the NVDA menu on the fly. |
Attachment 2010.2_Ticket635_Source_code_modifications.rar added by m11chen on 2010-11-17 07:04 |
Comment 4 by mdcurran on 2011-01-20 23:47 |
Attachment default.dic added by m11chen on 2011-02-24 05:14 |
Comment 5 by m11chen on 2011-02-24 05:29 |
Attachment chtNounConstruct.py added by m11chen on 2011-03-16 05:55 |
Comment 7 by m11chen on 2011-03-31 08:21 Thanks for making this enhancement a priority. There are many users in the blind Chinese community waiting for this functionality from NVDA. Would the support of Chinese input frameworks be within the scope of the upcoming work? Please let me know if there are any testing that I can do to help with the development. |
Comment 8 by m11chen on 2011-04-06 09:10 I have written a new global plugin utilizing the new modifications from Character Description branch. This plugin will limit the verbosity of Chinese character descriptions to one noun at a time, and sequential calls to the getCharacterDescription function on the same character will enumerate through the list of nouns available from the dictionary. After the last noun is spoken, the function loops back to the first noun from the list. |
Comment 9 by m11chen on 2011-04-06 12:19 |
Attachment chtNounConstruct_with_characterDescription.py added by m11chen on 2011-04-06 13:15 |
Attachment chtEnumerateNoun.py added by m11chen on 2011-04-06 13:27 |
Comment 10 by m11chen (in reply to comment description) on 2011-04-10 04:30
|
Comment 11 by m11chen on 2011-04-10 04:32 |
Comment 12 by m11chen on 2011-04-15 13:13 |
Comment 13 by jteh on 2011-04-15 13:22 When reading descriptions for a single character, if you need to hear further examples, you just keep listening. When spelling, only the first example for each character is now spoken to avoid insane length. You can then move character by character if you really need further examples for one of the characters. I think this ticket is satisfied by character descriptions and should be closed as fixed. If you have further requirements, please make them clear. Alternatively, if you choose to implement additional functionality in a plugin, you are of course welcome to do that, but it will be provided as a third party plugin and therefore isn't relevant to the core project. Btw, character descriptions has already been merged into main, so it will be included in 2011.2. Thanks for your input. |
Comment 14 by jteh on 2011-04-15 13:26 Note that we will eventually implement support for TSF, so the candidate list will be read. |
Comment 15 by m11chen (in reply to comment 14) on 2011-04-16 02:00
Another functionality is the ability to read the list of multiple descriptions one description at a time. Currently, when the user presses numpad2 twice quickly, the entire list is spoken. I was thinking maybe only the first description should be read on the first key press, the second description on the second key press, and so on. |
Comment 16 by jteh (in reply to comment 15) on 2011-04-16 04:21
Why? I imagine that if you want the second description, you're only going to know that after you realise the first isn't enough. If you already know the first isn't enough, you probably don't need to hear the descriptions at all. Also, this breaks pressing review current character three times to get the decimal and hexadecimal character codes and there's no way of implementing it if you want it to be enabled by default when reading by character. |
Comment 17 by m11chen (in reply to comment 16) on 2011-04-16 05:30
Yeah, I know this might sound trivial in English, as the analogy is something like "a as in alpha, a as in apple, a as in after... But since the characterDescriptions.py for Chinese has a long list of descriptions for many of the more common characters, allowing the user to cycle through the list one description at a time is very useful for some of the more ambiguous characters. Anyways, if this doesn't seem like something that might make it into the core, I am happy to write a global plugin after the code stabilizes. I think reading candidates in TSF and IME are of much higher priority. Thanks for the hard work to help the blind Chinese community. =) |
Comment 18 by jteh on 2011-06-09 03:04 |
Attachment chtEnhancedUI.py added by m11chen on 2012-10-25 23:07 |
Comment 19 by jteh on 2013-02-13 08:32 |
Comment 20 by nishimotz on 2013-05-30 10:36 In NVDAJP, Japanese team has modified their behaviors as written in the document: We are using "pressing numpad2 or NVDA+period twice" as the enabling or disabling the description mode, rather than the description announcement itself. Japanese team is now thinking that we should return to the original specification, so we may change the toggle operation to "numpad2 or NVDA+period four-times". Anyway, we should discuss with other Asian language users regarding this. |
Attachment chtEnhancedUI.nvda-addon added by m11chen on 2013-08-11 08:35 |
Comment 21 by m11chen on 2013-08-11 08:41 |
Comment 22 by jteh on 2013-08-11 10:13 |
Comment 23 by nvdakor on 2014-05-29 05:44 |
Comment 24 by m11chen on 2014-08-08 02:12 |
Attachment CJKEnhancedUI_v1.2.nvda-addon added by m11chen on 2014-08-08 02:32 |
Comment 25 by m11chen on 2014-08-08 02:40 |
Comment 26 by nvdakor (in reply to comment 25) on 2014-08-08 05:16 |
Comment 27 by nvdakor on 2014-08-08 05:37 |
Comment 28 by m11chen (in reply to comment 26) on 2014-08-08 05:45 |
Comment 29 by nvdakor (in reply to comment 28) on 2014-08-08 05:54
Hi, Changes: |
Comment 30 by jteh on 2014-08-08 05:59 |
Comment 31 by m11chen (in reply to comment 30) on 2014-08-08 06:41 Personally, as a Traditional Chinese user, I think the three main requirements are satisfied:
Unless other CJK users encounter problems with the above three, I think we should just leave this closed before it gets more confusing. |
Comment 32 by nishimotz on 2014-08-08 10:39 |
Reported by m11chen on 2010-04-27 08:09
Specific to the Chinese language (possibly also Japanese and Korean), allows for the review previous/current/next character script to initiate a query of a database containing definitions and nouns constructed from the character. This is important to blind users of the Chinese language in order to distinguish different characters with the same pronunciation.
I have made a very crude implementation of this functionality in the default.py appModule by tagging the character with five "" characters and then defining the correspondingly desired speech information in the builtin.dic speech dictionary.
Here are the changes I made to the review previous/current/next character scripts. Note that I also defined a "chtNounConstruct" variable in the config file for toggling on/off the functionality. The appended builtin.dic is a bit large, so I did not include it here.
Here are the 26 English alphabets and a few of the first chinese characters appended to the builtin.dic file for demonstration.
Phonetic spelling of alphabet
A_____ alpha 0 0
B_____ bravo 0 0
C_____ charlie 0 0
D_____ delta 0 0
E_____ echo 0 0
F_____ fox trot 0 0
G_____ golf 0 0
H_____ hotel 0 0
I_____ india 0 0
J_____ juliet 0 0
K_____ kilo 0 0
L_____ lima 0 0
M_____ mike 0 0
N_____ november 0 0
O_____ oscar 0 0
P_____ papa 0 0
Q_____ quebec 0 0
R_____ romeo 0 0
S_____ sierra 0 0
T_____ tango 0 0
U_____ uniform 0 0
V_____ victor 0 0
W_____ whiskey 0 0
X_____ x ray 0 0
Y_____ yankee 0 0
Z_____ zulu 0 0
Chinese character definition and noun construction
一_____ 一 數字 一言九鼎 一帆風順;第一名 百密一疏 百聞不如一見 0 0
乙_____ 乙 天干的第二位 乙等 乙醇 乙醚 乙等特考;太乙 聚乙烯 0 0
厂_____ 厂 山邊可以居住人的崖洞 0 0
匚_____ 匚 古代一種盛物的器具 0 0
刀_____ 刀 刀子 刀槍不入;菜刀 瑞士刀 0 0
乂_____ 乂 乂安 ; 俊乂 0 0
卜_____ 卜 卜卦 卜筮;占卜 求神問卜 賣卜測字 0 0
入_____ 入 入門 入迷 入埸券;進入 出入口 羊入虎口 0 0
I am not an expert programmer, so I am guessing this kind of crude implementation would not be on-par with what the NVDA Project expects from its contributers. If someone could reorganize the described functionality into something more acceptable, that would be great.
Thanks.
Blocked by #55
The text was updated successfully, but these errors were encountered: