|
Post by 36projects on Jul 5, 2022 11:43:48 GMT 1
Dear Jos thank you for creating vDos. It is a great program and I glad I've found it. Unfortunately I have an issue with printing Cyrillic letter "р" (Small Er) in vDos CLI and DOS application. I am able to get correct symbol with Alt+224 combo in vDos CLI My vDos version is 2022.05.01, output of chcp command is "Active code page: 866" It seems there is threads on the old forum about same issue: sourceforge.net/p/vdos/discussion/general/thread/96036d34/sourceforge.net/p/vdos/discussion/advanced/thread/edf21251/proposed solution was to modify bios_keyboard.cpp, unfortunately this is beyond my skills. tested on Windows 7 PRO 64 bit and Windows 10 PRO 64 bit Do you have any solution or workaround for this issue?
|
|
|
Post by Jos on Jul 5, 2022 14:22:30 GMT 1
Those were about not being able to enter the small Er by Alt+224. But as you noticed, that works correctly now.
The issue is displaying that character, or sending it to a printer?
Jos
|
|
|
Post by 36projects on Jul 6, 2022 7:52:29 GMT 1
This issue is about input from keyboard: - I couldn't type in "small er" letter directly from keyboard at vDos CLI or DOS application - I can enter "small er" via Alt+224 - I can enter "CAPITAL ER" letter "Р" directly from keyboard at vDos CLI and DOS application - I can see "small er" letter on screen in entries of my application correctly - I can print from my application and I haven't found any issues with that - I typed in middle row keys in test.txt (CP866) then displayed it from CLI - also no problems. (Screenshot01.png) - I've downloaded KEYCHECK.COM from www.ers.kestar.com.au/dos.html and it is able to response pressed key "р" (please find the Screenshot02.png) - I typed in middle row keys from keyboard in CLI in small and capital letters so you could see "small er" is missing (Screenshot03.png) This letter is in the middle of the keyboard and cyrillic alphabet. As I remember, there was no complications during DOS era and there is nothing peculiar about this letter, like diacritic symbols or special meaning of this ASCII-code. Could I provide any further information or made some test to find the root of this issue?
|
|
|
Post by Jos on Jul 6, 2022 9:45:40 GMT 1
What keyboard layout is set in Windows? So I can mimic and test your direct "small er" input.
Seems KEYCHECK.COM peeks directly in the BIOS keyboard buffer. Other programs use the INT 16h API, where vDos now considers (effectively drops) 23E0h as the leading word of an enhanced key pair.
Jos
|
|
|
Post by 36projects on Jul 6, 2022 11:25:20 GMT 1
|
|
|
Post by Jos on Jul 6, 2022 15:00:48 GMT 1
That had me going for a while. The "small er" issue isn’t a keyboard, but a font issue.
If you select another in config.txt, for instance: FONT = -C:\WINDOWS\FONTS\consola You’ll get the "small er".
I first thought that character would be missing from the internal vDos font. But it is defined, though as a mere reference to the character "p" since they are virtually the same.
The FreeType library or the vDos generated ASCII-Unicode table will be to blame. I’ll have a look at that. For now you will have to use some other external monospaced font.
Jos
|
|
|
Post by 36projects on Jul 6, 2022 17:33:28 GMT 1
I've tried: FONT = -C:\WINDOWS\FONTS\consola in config.txt - issue haven't gone.
Then I copied CONSOLA.ttf, COUR.TTF and ptm55f.TTF to the vDos folder and made several other attempts:
--------[part of config.txt]--------
rem ---------- rem Let's try some fonts rem ---------- rem 1st try - all lines refering to FONT are commented out rem now lets uncomment line by line. One at the time rem FONT = BOLD rem FONT = -BOLD rem FONT = C:\WINDOWS\FONTS\CONSOLA rem FONT = C:\WINDOWS\FONTS\COUR.TTF rem FONT = C:\WINDOWS\FONTS\ptm55f.TTF rem FONT = -C:\WINDOWS\FONTS\CONSOLA rem FONT = -C:\WINDOWS\FONTS\COUR.TTF rem FONT = -C:\WINDOWS\FONTS\ptm55f.TTF rem FONT = CONSOLA rem FONT = COUR.TTF rem FONT = ptm55f.TTF rem FONT = -CONSOLA rem FONT = -COUR.TTF FONT = -ptm55f.TTF
--------[part of config.txt]--------
All tests showed the same result: couldn't type in "small er" from keyboard, but able to input it via Alt-224.
I also tried "Droid Sans Mono Slashed" font - same situation.
Is there any other thing to try?
|
|
|
Post by Jos on Jul 6, 2022 19:00:18 GMT 1
My bad, to ease testing I just paste a bunch of "small er"'s into vDos. Those didn't appear with the internal vDos, but did with for instance Consolas. So I concluded the internal font was to blame. I didn't test typing that character anymore. But it is both, keyboard and font. The KEYCHECK.COM doesn’t report what is returned by INT 16h. Could you instead use the SCODE.COM program on a Windows 32-bit PC under NTVDM. Returning the ‘full’ 23E0h let for instance dBaseV and WordPerfect open a menu item. Could be those programs just don’t work with a Russian keyboard. But I cannot test that. Jos Attachments:SCODE.COM (2.97 KB)
|
|
|
Post by 36projects on Jul 7, 2022 4:54:42 GMT 1
I don't have 32 bit Windows machina at hand now, so I've done this test in 64 Windows. 1st and 2nd entry in English layout and 3rd and 4th in Russian AX/BIOS code in "small er" is different. Attachments:
|
|
|
Post by Jos on Jul 7, 2022 20:33:28 GMT 1
I’ll send you a modified vDos.exe by wetransfer.
My conclusion it was also a font issue proofed incorrect. Probably I just forgot the for me required CHCP 866 at decisive moments…
You’ll have to check if it is all correct. dBaseV reacts by opening a menu, WordPerfect and FoxPro ignore that character. As said, could very well be those programs require a localized version.
Jos
|
|
|
Post by 36projects on Jul 8, 2022 5:03:56 GMT 1
Thank you Jos, "Small er" issue is gone! New vdos.exe works perfectly. I uncomented "FONT = -C:\WINDOWS\FONTS\CONSOLA" setting to display pseudographic symbols correctly and now everything looks great and I'm able to input "р" letter Just for information - is my issue related to "Greek Omega/ω" issue? I have found another minor bug: "Ё/ё" issue (screenshot06.png). It is possible to live with it - sometimes in Cyrrilics we're substitute "Ё/ё" with "Е/е" and grownup has no problems to recognise substitution. It would be nice if you have possibilities to fix this in future releases. If you need any information/test - please tell me. I'll do any tests to help with development. Thank you again for fixing "small er" issue. Should I mark thread as [SOLVED]? Attachments:
|
|
|
Post by pv81 on Jul 8, 2022 7:25:30 GMT 1
Try with "lucon.ttf" from WindowsXP directory. I think it was named Lucinda console.
|
|
|
Post by Jos on Jul 8, 2022 8:34:58 GMT 1
I would think it is indeed related to the "Greek Omega/ω". But my memory isn’t that good, and I don’t find any reference to that character in the source code.
Tried the "Ë/ë" at the command line, both are accepted and shown. Hard to tell in a program, I expect "ë" is accepted, "Ë" not.
In time I should probably have a renewed look at the keyboard routines. Why eventually add enhanced keyboard codes, while later on mostly stripping those what interferes with for instance a "Small er". I don’t think any DOS program will depend on those since vDos only maintains a BIOS keyboard buffer and supports INT 16h.
For what I know, there's no [SOLVED] status in ProBoards, I don't miss that.
Jos
|
|
|
Post by leonpib on Mar 6, 2023 8:30:56 GMT 1
I have the same problem with the letter "p" in 866 encoding. You can also send me a new exe file. Thank you in advance
|
|
|
Post by mirror on Mar 23, 2023 18:52:40 GMT 1
I have a similar problem with the cyrillic letter r in 866 codepage.
Can you send a fixed exe and for me?
|
|