Commit Graph

16 Commits

Author SHA1 Message Date
fiatjaf
d1d172b96c match numbers and letters on highlight. 2023-12-31 15:23:32 -03:00
fiatjaf
d85872a1b5 naïve text highlighting. 2023-12-31 14:26:14 -03:00
fiatjaf
46a4891048 use emojiBuffer as the rule and make mainBuffer adapt to it, removing glyphs as necessary. 2023-12-28 16:22:18 -03:00
fiatjaf
f06badf393 trying to remove unused glyphs from mainBuffer since they got merged in emojiBuffer. 2023-12-28 15:39:44 -03:00
fiatjaf
e17b3e2b45 fix emojiMask not working correctly.
its index was being reset for each wrapped line thus not corresponding to the actual position in the full paragraph content anymore.

basically if the emojiMask was [false, false, false, true, false] for "abc🔛d" but that text was split in two lines like:
"abc
🔛d"
then the emojiMask would be read at 0, 1, 2, then 0, 1.

now that is fixed.
2023-12-28 06:48:14 -03:00
fiatjaf
a500e7bb79 add cyrillic and make latin/unknown be just the fallback, not compete against other scripts in the identification race. 2023-12-27 20:57:45 -03:00
fiatjaf
1a154f57e9 use fiatjaf/emoji for IsEmoji(). 2023-12-27 19:19:18 -03:00
fiatjaf
9f30fbeac9 document the mess we made with the font rendering stuff. 2023-12-26 22:16:31 -03:00
fiatjaf
1022fb76fa successfully mixing in a normal font + the emoji font for some runes only through a myriad of weird hacks. 2023-12-26 22:08:24 -03:00
fiatjaf
9be417fc7c bring in HarfbuzzShaper into code as a function so we can modify it. 2023-12-26 19:38:27 -03:00
fiatjaf
124dc390d4 basically revert the previous commit. 2023-12-26 11:05:40 -03:00
fiatjaf
86f6a09ea3 using a custom RunIterator that takes emojis into account and shapes them with a different font.
it doesn't actually work since the different outputs returned are treated by LineWrapper as necessarily belonging to different lines, so we'll have to do something different.
2023-12-26 11:02:45 -03:00
fiatjaf
b8600ba205 add syriac, hindi, add default language and direction maps based on script. 2023-12-25 23:42:18 -03:00
fiatjaf
28d7a73adf shorten URLs when rendering text image so they don't use all the space. 2023-12-25 23:27:23 -03:00
fiatjaf
1044c31900 fix script matching bug. 2023-12-25 23:27:23 -03:00
fiatjaf
a7b56f046b rendering everything with nice script and language detection and font-picking. 2023-12-25 23:27:23 -03:00