diff options
author | Nicolas Pitre <nicolas.pitre@linaro.org> | 2018-06-26 23:56:40 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2018-06-28 21:38:12 +0900 |
commit | d8ae7242718738ee1bf9bfdd632d2a4b150fdd26 (patch) | |
tree | 8196e325f2c2defc50155c65a5b30ba5e952b3a8 /include/linux/console_struct.h | |
parent | 34b6a3a91f87851bc0ea9e6776266f23d8acf388 (diff) | |
download | lwn-d8ae7242718738ee1bf9bfdd632d2a4b150fdd26.tar.gz lwn-d8ae7242718738ee1bf9bfdd632d2a4b150fdd26.zip |
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/console_struct.h')
-rw-r--r-- | include/linux/console_struct.h | 2 |
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 */ }; |