From 525602d68200ae79d853e8f2bf525b3d966dd819 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Fri, 8 Oct 2021 10:27:03 +0300 Subject: [PATCH] ; * etc/TODO (display): Add entry about Default_Ignorables. --- etc/TODO | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/etc/TODO b/etc/TODO index ffc5ef304b1..cd06b1ea26e 100644 --- a/etc/TODO +++ b/etc/TODO @@ -444,6 +444,25 @@ consistency checks that make sure the new code computes the same results as the old code. And once that works well, we can remove the old code and old fields. +** Implement Unicode-compliant display of "default-ignorable" characters +See the "Characters Ignored for Display" section of paragraph 5.21 in +the Unicode Standard for the details. + +The implementation would import the data from Unicode UCD file +DerivedCoreProperties.txt, and provide a minor mode that arranges for +the characters with the Default_Ignorable_Code_Point (DI) property to +be hidden on display. One way of implementing that could be via +glyphless-char-display-control; that one is global, but maybe there's +a way of making it buffer-local. Alternatively, this could be +implemented in C in the display engine. + +An additional aspect of this is the display of U+00AD SOFT HYPHEN as +invisible except at line boundaries. Note that this would need to +support hard (physical) newlines in the buffer as well as soft +wrapping of long lines under 'visual-line-mode'. The algorithm for +selecting the wrap point may also need be changed to break at the soft +hyphen. + ** FFI (foreign function interface) See eg https://lists.gnu.org/r/emacs-devel/2013-10/msg00246.html -- 2.39.5