summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorNicolas Pitre <nicolas.pitre@linaro.org>2018-06-26 23:56:40 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-06-28 21:38:12 +0900
commitd8ae7242718738ee1bf9bfdd632d2a4b150fdd26 (patch)
tree8196e325f2c2defc50155c65a5b30ba5e952b3a8 /include/linux
parent34b6a3a91f87851bc0ea9e6776266f23d8acf388 (diff)
vt: preserve unicode values corresponding to screen characters
The vt code translates UTF-8 strings into glyph index values and stores those glyph values directly in the screen buffer. Because there can only be at most 512 glyphs, it is impossible to represent most unicode characters, in which case a default glyph (often '?') is displayed instead. The original unicode value is then lost. This patch implements the basic screen buffer handling to preserve unicode values alongside corresponding display glyphs. It is not activated by default, meaning that people not relying on that functionality won't get the implied overhead. Signed-off-by: Nicolas Pitre <nico@linaro.org> Tested-by: Dave Mielke <Dave@mielke.cc> Acked-by: Adam Borowski <kilobyte@angband.pl> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/console_struct.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/console_struct.h b/include/linux/console_struct.h
index c0ec478ea5bf..2c8d3239899b 100644
--- a/include/linux/console_struct.h
+++ b/include/linux/console_struct.h
@@ -19,6 +19,7 @@
struct vt_struct;
struct uni_pagedir;
+struct uni_screen;
#define NPAR 16
@@ -140,6 +141,7 @@ struct vc_data {
struct vc_data **vc_display_fg; /* [!] Ptr to var holding fg console for this display */
struct uni_pagedir *vc_uni_pagedir;
struct uni_pagedir **vc_uni_pagedir_loc; /* [!] Location of uni_pagedir variable for this console */
+ struct uni_screen *vc_uni_screen; /* unicode screen content */
bool vc_panic_force_write; /* when oops/panic this VC can accept forced output/blanking */
/* additional information is in vt_kern.h */
};