summaryrefslogtreecommitdiff
path: root/src/ui/text.c
AgeCommit message (Collapse)Author
2021-03-07Processing per-pixel scroll eventsJaakko Keränen
Do platform-specific processing of scroll events up front so widgets can support both types of scrolls everywhere. IssueID #166
2021-03-06Rasterize a few glyphs on every frameJaakko Keränen
Also various widget fixes/improvements.
2021-03-06Mobile: Dealing with keyboard heightJaakko Keränen
The software keyboard obstructs part of the UI, so need to offset the view if the focused input widget would not be visible.
2021-02-24Source Sans Pro and Iosevka as font optionsJaakko Keränen
Allow the UI and monospace fonts to be used as page content fonts.
2021-02-23Added a Large Bold UI fontJaakko Keränen
2021-02-23Text: Escape for restoring original colorJaakko Keränen
2021-02-22iOS: Font adjustmentsJaakko Keränen
2021-02-21Text: Added a 1.33x sized UI fontJaakko Keränen
2021-02-19iOS: Adjusting the UI for a tablet screenJaakko Keränen
2021-02-18iOS: Working on touch event handlingJaakko Keränen
Handle finger down, motion, and up events to implement basic taps, long presses, and inertia scrolling. Much finetuning still to be done, and certain widgets like input fields and scrollbars need a direct drag mode (they were working fine via the "mouse" events already).
2021-02-14Color: Extended range for color escapesJaakko Keränen
Use a double \r for color IDs 95 and beyond.
2021-02-13Text: No scaling for text glyphsJaakko Keränen
2021-02-13Windows: Further custom frame improvementsJaakko Keränen
Saving the window rectangle and snap mode. Frame title alignment.
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