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