summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorNicolas Pitre <npitre@baylibre.com>2025-04-17 14:45:11 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-04-26 11:22:04 +0200
commitb5c574995d842d241d810f3a6a3ebb03c52d57fa (patch)
treeb751111fb22541156433f26a8708d5dcc0b12e5c /include/linux
parent9bd73840935746dccef20dbcb509317c8e718f08 (diff)
vt: support Unicode recomposition
Try replacing any decomposed Unicode sequence by the corresponding recomposed code point. Code point to glyph correspondance works best after recomposition, and this apply mostly to single-width code points therefore we can't preserve them in their decomposed form anyway. Signed-off-by: Nicolas Pitre <npitre@baylibre.com> Reviewed-by: Jiri Slaby <jirislaby@kernel.org> Link: https://lore.kernel.org/r/20250417184849.475581-10-nico@fluxnic.net Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/consolemap.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/consolemap.h b/include/linux/consolemap.h
index b3a911866662..8167494229db 100644
--- a/include/linux/consolemap.h
+++ b/include/linux/consolemap.h
@@ -30,6 +30,7 @@ int conv_uni_to_8bit(u32 uni);
void console_map_init(void);
bool ucs_is_double_width(uint32_t cp);
bool ucs_is_zero_width(uint32_t cp);
+u32 ucs_recompose(u32 base, u32 mark);
#else
static inline u16 inverse_translate(const struct vc_data *conp, u16 glyph,
bool use_unicode)
@@ -69,6 +70,11 @@ static inline bool ucs_is_zero_width(uint32_t cp)
{
return false;
}
+
+static inline u32 ucs_recompose(u32 base, u32 mark)
+{
+ return 0;
+}
#endif /* CONFIG_CONSOLE_TRANSLATIONS */
#endif /* __LINUX_CONSOLEMAP_H__ */