Open nvaccessAuto opened 12 years ago
Comment 1 by tspivey on 2012-03-11 20:30 This is what I know so far. First, ReadConsoleOutputCharacter() is returning unicode, as I expected. Using the test string u'\u3053x' starting at 0,0:
read(length, startX, startY) #where x is column and y is row
read(1, 0, 0) = u' '
read(1, 1, 0) = u' '
read(2, 0, 0) = u'\u3053'
read(1, 2, 0) = u'x'
According to this, each multibyte character takes 2 columns. We have the total number of columns on screen stored somewhere. If console reads worked on entire lines at a time, padding to the right with spaces, I think that would solve it. Is there a better idea?
@tspivey @nishimotz Could you please test and report whether or not the reported issue still persists?
Though I haven't yet tested with the official builds, my working version based on the current master branch causes the issue mentioned here. My setup is as follows:
Another issue may be related to this. Reviewing the text by line, every Japanese characters are reported twice, i.e. duplicated such as ここれれはは試試験験でですす The work around for this duplication we found so far is to choose the raster font.
@tspivey is this still reproducible in NVDA 2018.4 Beta 1?
@tspivey, just a reminder. Do you still have this problem in NVDA 2019.1.1? cc: @nishimotz in case the author is not available, could you please test if this issue is still occuring? Thanks!
@nishimotz are you available to test if this is still an issue in NVDA 2019.2 RC2? Maybe the solution with UIA provided by @codeofdusk also solves this issue?
Tested with 2019.2 rc2 installed. When "Use UI Automation to access the Windows Console" is enabled, the issue of duplicated character readings does not occur.
Reported by tspivey on 2012-03-09 00:41 STR:
And run it. If I move up to the line that it echoes, I can't move across individual characters. They're all reported as spaces. Trying to copy one reports no text, but moving across two of them allows me to copy one.
My first guess is it has something to do with multi-byte characters, since each one of those characters is two bytes in the ansi codepage.