Commit Graph

567 Commits

Author SHA1 Message Date
Daniele Tonon
ab4c2670f6 Support fake extension in text-image to permit easy loading on Nostr 2024-01-02 16:54:48 +01:00
Daniele Tonon
5264f6df2b Support webp and gif for profile's pic 2024-01-02 16:29:06 +01:00
fiatjaf
6b35b0393f when highlighting, allow names to have emojis. 2024-01-02 11:11:14 -03:00
Daniele Tonon
1612251487 Update text highlighting colors 2024-01-02 14:06:58 +01:00
fiatjaf
5882462547 hlSkip and stop using @ prefix on names. 2024-01-02 10:06:44 -03:00
fiatjaf
c073d6e57c snake case to camel case in some places. 2024-01-02 09:26:41 -03:00
fiatjaf
587b096ebc cleanup the formula code. 2023-12-31 18:18:10 -03:00
fiatjaf
1cbc1436c9 remove a print statement. 2023-12-31 18:15:55 -03:00
fiatjaf
d806cea4d2 fix d1d172b96c, that constant was wrong. 2023-12-31 18:05:47 -03:00
fiatjaf
51a5bd770a replace fancy dynamic font size detector with a mathematical formula that should be good enough.
the fancy thing was breaking for all japanese and chinese notes, and in some english notes too, I don't know why.

it also gave me a bad feeling because it was a loop that seemed expensive.
2023-12-31 17:50:44 -03:00
fiatjaf
91a0ea768b do not use language detector model on dev mode.
because it's slow.
2023-12-31 17:50:12 -03:00
fiatjaf
d1d172b96c match numbers and letters on highlight. 2023-12-31 15:23:32 -03:00
fiatjaf
5bc8b5bbde @-prefixed and highlighted mentions in text images. 2023-12-31 14:38:32 -03:00
fiatjaf
d85872a1b5 naïve text highlighting. 2023-12-31 14:26:14 -03:00
fiatjaf
ba42ca42e2 fix sitemap url.
closes https://github.com/fiatjaf/njump/issues/27
2023-12-29 18:09:28 -03:00
Daniele Tonon
37a05bf2a4 Improve dynamic font size calculation in text-image 2023-12-29 14:51:22 +01:00
Daniele Tonon
8d6b3f5cd9 Merge branch 'use-go-text-typesetting' 2023-12-29 13:42:53 +01:00
Daniele Tonon
83cb6f4cc1 Add dynamic font resizing for <140 chars notes 2023-12-28 23:16:03 +01:00
Daniele Tonon
f748b99eb1 Show cut gradient at the text-image bottom only if necessary 2023-12-28 23:00:22 +01:00
Daniele Tonon
89ed30c1ec Fix different Telegram padding in the text-image 2023-12-28 21:40:10 +01:00
Daniele Tonon
6c85d22962 Render author name using drawText() to support emoji 2023-12-28 21:22:49 +01:00
fiatjaf
0940f0f981 this requires a variation of go-text/typesetting that exposes .Codepoint 2023-12-28 16:27:23 -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
bfb1477ce6 fix newline replacer code and remove \t and \r before rendering. 2023-12-28 09:03:14 -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
7d604c4c86 use go build instead of go run in just dev. 2023-12-27 10:53:42 -03:00
fiatjaf
16d8d49747 just check-samples opens chromium with images and pages from samples.txt 2023-12-27 10:53:22 -03:00
fiatjaf
6f9ca1862f just check-samples opens chromium with images and pages from samples.txt 2023-12-27 10:52:58 -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
fff2b84090 use "regular" NotoSansJP. 2023-12-25 23:27:23 -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
3d20906bab use go build instead of go run in just dev. 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
fiatjaf
5df944705e use go-text/typesetting library to render text better: rendering farsi. 2023-12-25 23:27:09 -03:00
Daniele Tonon
f478d17219 Fix handling of ?/# separators in media regexps 2023-12-25 19:07:58 +01:00
Daniele Tonon
3455eb38a3 Reduce the width of the text-image cache element to keep it out of view 2023-12-25 18:43:28 +01:00
Daniele Tonon
d790729fb6 Optimize masking for long author names 2023-12-24 22:38:22 +01:00
Daniele Tonon
bb3cfc1157 Add a cut gradient to author name if it's too long 2023-12-24 19:06:08 +01:00
Daniele Tonon
ee076ef22b Fix text-image date position for Twitter 2023-12-24 18:58:31 +01:00
Yasuhiro Matsumoto
ba7261eee8 Safely close databases 2023-12-24 14:05:09 -03:00
Yasuhiro Matsumoto
5e40dc96ba fix typos 2023-12-24 14:04:48 -03:00