Stéphane Marks
a0748d9791
New function 'truncate-string-pixelwise' (bug#80244)
...
This function will truncate a string on a pixelwise basis in a
work buffer and using a binary search rather than brute force.
* lisp/emacs-lisp/subr-x.el (work-buffer--prepare-pixelwise):
New defun helper function.
(string-pixel-width): Use the helper function.
(truncate-string-pixelwise): New defun.
* test/lisp/misc-tests.el (misc-test-truncate-string-pixelwise):
(misc-test-truncate-string-pixelwise-unicode): New test.
* doc/lispref/display.texi (Size of Displayed Text): Document
the function.
* etc/NEWS: Announce the function.
2026-01-31 11:04:40 +02:00
..
2026-01-17 14:48:06 +02:00
2026-01-24 13:25:14 +02:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-29 10:29:40 +02:00
2026-01-01 12:54:34 +00:00
2026-01-11 05:25:03 -08:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-28 12:43:38 +01:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-21 19:27:03 +02:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-18 22:15:18 +02:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-30 13:35:50 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-27 18:49:37 +01:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-31 11:04:40 +02:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-24 13:32:44 +02:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-05 15:23:01 -08:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00
2026-01-01 12:54:34 +00:00