summaryrefslogtreecommitdiff
path: root/src/ui/text.c
AgeCommit message (Collapse)Author
2021-01-10Text: Lazy glyph rasterizationJaakko Keränen
Glyphs are now rasterized only when they are needed for drawing. Otherwise, only the metrics and the cache position are set. This is more robust as we can retry rasterizing glyphs that previously failed, and faster because measuring (e.g., document layout) doesn't rasterize anything.
2021-01-04Text: Fixed a very minor memory leakJaakko Keränen
Sometimes a glyph was rasterized but it was not possible to create a texture out of it. In this case, the surface was never released.
2020-12-31Text: Clear glyph cache when it fills upJaakko Keränen
We can use a smaller glyph cache if we clear it when it fills up. Even a large cache would eventually fill up, so clearing is a good strategy anyway. Clears occur still rather infrequently.
2020-12-29Added a bold UI fontJaakko Keränen
The bold UI label font is used for highlighted sidebar items and default buttons.
2020-12-24Fixed: InputWidget cursor positioningJaakko Keränen
2020-12-20CleanupJaakko Keränen
2020-12-19Text: Recognize more ANSI escapesJaakko Keränen
2020-12-19Text: Line wrapping tweakJaakko Keränen
2020-12-18Text: Improved handling of tab stopsJaakko Keränen
Text drawing can now be made aware of the available horizontal space.
2020-12-17Text: Tuned content monospace line spacingJaakko Keränen
2020-12-13Fixed UI text color regressionJaakko Keränen
2020-12-12Text: Clip glyphs to fit verticallyJaakko Keränen
There may be partial overlaps with full-height glyphs because the fonts are scaled unhinted.
2020-12-12Text: Smaller monospace body fontJaakko Keränen
2020-12-12New monospace font; flexible mono spacingJaakko Keränen
Iosevka replaces Fira Mono as the monospace font. Emojis are now allowed to be wider than normal monospace glyphs. However, if whitespace permits, the original monospacing is restored. IssueID #73
2020-12-12InputWidget: Allow variable-width fontsJaakko Keränen
2020-12-09CleanupJaakko Keränen
2020-12-08Text: Ignore Unicode joiners and modifiersJaakko Keränen
The fonts bundled with Lagrange currently do not have all the latest Unicode symbols, so we'll ignore the joiners and modifiers for gender and skin color. A better option would be to fall back to system-provided text rendering, if that is available. IssueID #81
2020-12-07Text: Align monospace glyph sizing to pixel gridJaakko Keränen
This is a better solution than a magic 0.25 pixel offset. To eliminate partially occupied glyph edge pixels, scale the glyphs slightly so they align with full pixels. Scaling is only done horizontally so it doesn't affect line height. IssueID #86
2020-12-05Text: Mitigate box-drawing character issuesJaakko Keränen
IssueID #86
2020-12-03Fixed misaligned Unicode box linesJaakko Keränen
IssueID #82
2020-12-02Show a banner warning about certificate issuesJaakko Keränen
2020-12-01Text: Caching the tallest glyphsJaakko Keränen
Reserve one more glyph cache row size so the tallest glyphs fit.
2020-12-01Text: Dealing with soft hyphensJaakko Keränen
With regard to gemini://gemini.conman.org/test/torture/0050.
2020-11-28Scrolling wide preformatted blocks horizontallyJaakko Keränen
Not entirely glitch-free but should be good enough for now. IssueID #44
2020-11-20Text: Fixed font scaling of level 3 headingsJaakko Keränen
2020-11-20Replaced EB Garamond with TinosJaakko Keränen
Tinos is a much more readable serif font, especially when it comes to the italic variant.
2020-11-19Replaced Japanese font with Noto Sans CJK JPJaakko Keränen
Alas, a couple of megabytes larger than Kosugi Maru, but has better glyph coverage.
2020-11-18Render an Ideographic Space glyph using the Korean fontJaakko Keränen
IssueID #41
2020-11-15Added a preference for monospace body textJaakko Keränen
Monospace body font can be set separately for Gemini and Gopher.
2020-11-14macOS: Font tweak for ⌘ and ⇧ charactersJaakko Keränen
2020-11-11Window: Create hidden to avoid shuffling position during launchJaakko Keränen
2020-11-05Full 8-bit ANSI palette for foreground colorsJaakko Keränen
2020-11-05CleanupJaakko Keränen
2020-11-04CleanupJaakko Keränen
Consistent code style.
2020-11-04ui: Fix line wrapping of emoticonsAlyssa Rosenzweig
While we do want to have special handling of punctuation to help wrap pathologically-long-hyphenated-words-that-go-on-for-kilometers, we don't want to wrap emoticons, so let's adjust the logic to account for this. While we're at it, clean up and add a comment explaining the logic for the benefit of future readers. Fixes rendering of a recent post on CAPCOM at certain window sizes => gemini://rosenzweig.io/lagrange/Before.png Before the change => gemini://rosenzweig.io/lagrange/After.png After the change Notice the wrapping of the ":D" in the second paragraph. Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
2020-10-29Added a large UI fontJaakko Keränen
2020-10-29TextBuf: Fixed garbage in the backgroundJaakko Keränen
2020-10-28Fixed: Blend TextBuf only once when drawingJaakko Keränen
2020-10-22CleanupJaakko Keränen
2020-10-22Added "Nanum Gothic" as a Korean fontJaakko Keränen
This overrides Kosugi Maru as it looks a bit nicer, in case there are glyphs available in both.
2020-10-12Normalizing long spaces to a tab stopJaakko Keränen
Experimenting with terminal friendly space normalization where sometimes multiple spaces are used to align content horizontally (with a fixed-width font). When encountering 8 or more consecutive spaces, they are all replaced with a single tab character. Gemtext allows clients to normalize whitespace as they see fit.
2020-10-11Text: Font tuningJaakko Keränen
2020-10-11Added a preference for heading fontJaakko Keränen
Body and heading fonts can be selected separately.
2020-10-11Added two serif fonts; minor color tweaksJaakko Keränen
Added the EB Garamond and Literata fonts as serif font choices.
2020-09-29CleanupJaakko Keränen
2020-09-29Text: Better readability with Fira SansJaakko Keränen
Increased Fira Sans line spacing, now more in line with Nunito.
2020-09-25Document side elements; hover outlineJaakko Keränen
2020-09-22Drawing with alpha blendingJaakko Keränen
2020-09-21Text: Using Unicode symbols in monospaceJaakko Keränen
If the regular monospace font is missing a Unicode character, one is used from Symbola. However, these replacements were taken from the wrong sized font. Also, since the replacements are not monospace (Symbola isn't) they are now centered in their location for a better alignment.
2020-09-20Text: Japanese font sized for UI textJaakko Keränen
This font is needed for example for tab titles where there are japanese glyphs.