diff options
| author | Glenn Morris | 2020-05-23 07:50:29 -0700 |
|---|---|---|
| committer | Glenn Morris | 2020-05-23 07:50:29 -0700 |
| commit | fabcc1ee13f82297d0f5e41f58fb1774840ebd45 (patch) | |
| tree | 440b7026631d5a26922a7366e28dbb6b3e307347 /etc | |
| parent | f8581bcf6a1942ebd331cae20e32945a3a86a3d1 (diff) | |
| parent | 4b9fbdb5a713745dfdb13042e33ba2345e6860e1 (diff) | |
| download | emacs-fabcc1ee13f82297d0f5e41f58fb1774840ebd45.tar.gz emacs-fabcc1ee13f82297d0f5e41f58fb1774840ebd45.zip | |
Merge from origin/emacs-27
4b9fbdb5a7 ; Update TODO item about ligature support
03d44acfdd * doc/lispref/control.texi (Processing of Errors): Improve...
b48ab743a8 Minor fixups for mutability doc
6ac2326e5b Don’t use “constant” for values you shouldn’t change
Diffstat (limited to 'etc')
| -rw-r--r-- | etc/TODO | 31 |
1 files changed, 31 insertions, 0 deletions
| @@ -264,6 +264,37 @@ of the mode line. | |||
| 264 | The prettify-symbols-mode should be deprecated once ligature support | 264 | The prettify-symbols-mode should be deprecated once ligature support |
| 265 | is in place. | 265 | is in place. |
| 266 | 266 | ||
| 267 | A related, but somewhat independent, feature is being able to move the | ||
| 268 | cursor "into a ligature", whereby cursor motion commands shows some | ||
| 269 | pseudo-cursor on some part of a ligature. For example, if "ffi" is | ||
| 270 | displayed as a ligature, then moving by one buffer position should | ||
| 271 | show the middle part of the ligature's glyph similar to the cursor | ||
| 272 | display: some special background and perhaps also a special | ||
| 273 | foreground. There are two possible ways of figuring out the offset at | ||
| 274 | which to display the pseudo-cursor: | ||
| 275 | |||
| 276 | . Arbitrarily divide the ligature's glyph width W into N parts, | ||
| 277 | where N is the number of codepoints composed into the ligature, then | ||
| 278 | move that pseudo-cursor by W/N pixels each time a cursor-motion | ||
| 279 | command is invoked; | ||
| 280 | . Use the font information. For example, HarfBuzz has the | ||
| 281 | hb_ot_layout_get_ligature_carets API for that purpose. However, | ||
| 282 | it could be that few fonts actually have that information recorded | ||
| 283 | in them, in which case the previous heuristics will be needed as | ||
| 284 | fallback. | ||
| 285 | |||
| 286 | One subtle issue needs to be resolved to have this feature of | ||
| 287 | "sub-glyph" cursor movement inside composed characters. The way Emacs | ||
| 288 | currently displays the default block cursor is by simply redrawing the | ||
| 289 | glyph at point in reverse video. So Emacs currently doesn't have a | ||
| 290 | way of displaying a cursor that "covers" only part of a glyph. To | ||
| 291 | make this happen, the display code will probably need to be changed to | ||
| 292 | draw the cursor as part of drawing the foreground and/or background of | ||
| 293 | the corresponding glyph, which is against the current flow of the | ||
| 294 | display code: it generally first completely draws the background and | ||
| 295 | foreground of the entire text that needs to be redrawn, and only then | ||
| 296 | draws the cursor where it should be placed. | ||
| 297 | |||
| 267 | ** Support for Stylistic Sets | 298 | ** Support for Stylistic Sets |
| 268 | This will allow using "alternate glyphs" supported by modern fonts. | 299 | This will allow using "alternate glyphs" supported by modern fonts. |
| 269 | For an overview of this feature, see | 300 | For an overview of this feature, see |