Are you able to test a patch? If so, could you please let me know if the
attached patch (screen-lx1.patch) fixes the charset= parameter?
--
I believe the Bible to be the very Word of God: http://Mielke.cc/bible/
Dave Mielke | 2213 Fox Crescent | WebHome: http://Mielke.cc/
EMail: [email protected] | Ottawa, Ontario | Twitter: @Dave_Mielke
Phone: +1 613 726 0014 | Canada K2A 1H7 |
diff --git a/Drivers/Screen/Linux/screen.c b/Drivers/Screen/Linux/screen.c
index 255e090bf..1ee51c98c 100644
--- a/Drivers/Screen/Linux/screen.c
+++ b/Drivers/Screen/Linux/screen.c
@@ -1086,25 +1086,29 @@ readScreenRow (int row, size_t size, ScreenCharacter
*characters, int *offsets)
}
}
- while (vga != end) {
- if (character) {
- character->attributes = ((*vga & unshiftedAttributesMask) |
- ((*vga & shiftedAttributesMask) >> 1)) >> 8;
+ while (vga < end) {
+ wint_t wc;
- if (text) {
- character->text = *text++;
- } else {
- uint16_t position = *vga & 0XFF;
- if (*vga & fontAttributesMask) position |= 0X100;
+ if (text) {
+ wc = *text++;
+ } else {
+ uint16_t position = *vga & 0XFF;
+ if (*vga & fontAttributesMask) position |= 0X100;
+ wc = convertCharacter(&translationTable[position]);
+ }
- wint_t wc = convertCharacter(&translationTable[position]);
- character->text = (wc != WEOF)? wc: WC_C(' ');
+ if (wc != WEOF) {
+ if (character) {
+ character->attributes = ((*vga & unshiftedAttributesMask) |
+ ((*vga & shiftedAttributesMask) >> 1)) >> 8;
+
+ character->text = wc;
+ character += 1;
}
- character += 1;
+ if (offsets) offsets[column++] = vga - vgaBuffer;
}
- if (offsets) offsets[column++] = vga - vgaBuffer;
vga += 1;
}
_______________________________________________
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: [email protected]
For general information, go to: http://brltty.app/mailman/listinfo/brltty