summaryrefslogtreecommitdiff
path: root/src/ui/text.c
AgeCommit message (Collapse)Author
2021-06-09Merge branch 'dev' into work/typesetterJaakko Keränen
# Conflicts: # src/gmdocument.c # src/ui/documentwidget.c # src/ui/inputwidget.h
2021-05-29Text: Use arrows from IosevkaJaakko Keränen
2021-05-29Text: Use Iosevka as final fallback fontJaakko Keränen
2021-05-28DocumentWidget: Improved drawing of link key shortcutsJaakko Keränen
2021-05-27DocumentWidget: Composited link numbers/lettersJaakko Keränen
Draw the circle and the number/letter separately since we don't have a font with all the glyphs.
2021-05-27Fixed icon alignmentsJaakko Keränen
Some of the icons in the Bookmarks list and lookup results were misaligned.
2021-05-26Fonts: Added more Smol Emoji symbolsJaakko Keränen
2021-05-25Removed Symbola, replaced with other/new fontsJaakko Keränen
Symbola's license is not permissive enough, so it has been removed. Added "Smol Emoji" with face emoticons and other UI characters for Lagrange. More symbols provided by Noto Sans Symbols and Noto Sans Symbols 2. The fallback fonts are now Iosevka, which has a pretty good coverage (although monospace), and the user's chosen TrueType font (which could still be a local copy of Symbola). Still a work in progress: some characters are missing. IssueID #283
2021-05-18Merge branch 'dev' into work/typesetterJaakko Keränen
# Conflicts: # src/ui/documentwidget.c # src/ui/inputwidget.c
2021-05-14Text: Fixed handling of newlinesJaakko Keränen
In the `tryAdvance*` methods, don't advance past newlines since this is intended to be a line-based operation.
2021-05-14InputWidget: Fixed cursor moving; scroll the dialogJaakko Keränen
Up/down movement sometimes ended up in the wrong cursor position. Now the nearest overflow-scrollable parent scrolls to keep the cursor visible.
2021-05-13InputWidget: Drawing hint and buffered textJaakko Keränen
Improved TextBuf to handle word/bound-wrapped content.
2021-05-12Merge branch 'dev' into work/typesetterJaakko Keränen
2021-05-11InputWidget: Word wrapping, inserting newlinesJaakko Keränen
2021-05-11Cache GmDocuments in memoryJaakko Keränen
Navigation history keeps final GmDocuments in memory for quicker restore when navigating; no need to redo layout. Changed the color escape to Vertical Tab so Carriage Returns can be left in the source, reducing need to normalize spaces.
2021-05-02Text: No unnecessary recaching; cleanupJaakko Keränen
2021-04-30InputWidget: Highlight only in focused rootJaakko Keränen
2021-04-13Text: Added a semibold Fira Sans fontJaakko Keränen
2021-04-13Updated the UI fonts to Source Sans 3Jaakko Keränen
A new version of the typeface, now with all font variations needed for page content as well.
2021-04-05Text: Fixed crash during word wrappingJaakko Keränen
Word wrap position must not go past end of input.
2021-04-05Fixed color escapes in link visit dateJaakko Keränen
A color escape may be longer than two characters. `run_Font_()` was not parsing extended color escapes correctly.
2021-04-04Text: Kerning was brokenJaakko Keränen
Kerning has been broken by the changes for adaptive Emoji spacing inside monospace text. Now the current X position is updated correctly also for kerning.
2021-04-03Drawing only during window updateJaakko Keränen
Glyphs were inadvertently being cached already during measuring for layout. DocumentWidget was buffering graphics too early. Now buffered draws are prepared during normal drawing, when needed.
2021-03-31Text: Preserve alpha when caching glyphsJaakko Keränen
Ensure no blending is done. Glyphs are supposed to be cached as-is.
2021-03-31Text: Workaround for glyph rasterization problem with older SDL versionsJaakko Keränen
2021-03-28Text: Word wrapping and whitespaceJaakko Keränen
When wrapping, continue after whitespace.
2021-03-28Text: Added a noteJaakko Keränen
2021-03-28Added Noto Sans ArabicJaakko Keränen
Added a font for Arabic, making the glyphs available for rendering. Of course, this doesn't solve Arabic text rendering yet. There is still the RTL direction to work out and possibly some missing glyph combining rules. IssueID #195
2021-03-27DocumentWidget: Advanced text selectionJaakko Keränen
Double click to select by word, triple click by paragraph. IssueID #134
2021-03-27Text: Further word wrap fixesJaakko Keränen
Set the correct break position in noWrap mode.
2021-03-26Added Noto Sans SC; font table cleanupJaakko Keränen
Added the Noto Sans Simplified Chinese font. This adds another ~10 MB to resources.lgr, increasing the urgency of distributing fonts via separate downloads. The font table was getting difficult to manage, so now the sizes are broken out into a separate enum, and the table is reordered to match the FontSize order.
2021-03-25Text: Improved word wrappingJaakko Keränen
This was complicated by the wrap position being placed one character later than intended. IssueID #201
2021-03-25Text: Trying more conservative word wrapping rulesJaakko Keränen
IssueID #201
2021-03-17Moved "Find on page" menu itemJaakko Keränen
Mobile "Find on page" is now in the nav menu. Added icons to sidebar toggle items.
2021-03-17TextBuf: Support for colorJaakko Keränen
Fill glyph backgrounds individually based on current color.
2021-03-15Text: Don't crash after cache resetJaakko Keränen
2021-03-14Text: Monospace and zero-advance glyphsJaakko Keränen
Don't force the same advance on all glyphs, since some don't advance the position. IssueID #204
2021-03-13Text: Separate glyph caching procedureJaakko Keränen
Previously glyph caching was done during text rendering, but that would mean lots of swapping between rendering stuff to the cache and then immediately afterward rendering to the display. There would be a swap per each new glyph. Now the entire document's glyphs are precached at once when a request is finished. Glyphs are also cached in larger batches when new text needs to be drawn.
2021-03-13Text: Removed pending glyphs trackerJaakko Keränen
2021-03-11Bring back regular-bold Nunito for linksJaakko Keränen
The extra bold that is used for titles is too bold for links.
2021-03-10GmDocument: Links use a bold, tinted fontJaakko Keränen
Links are important enough to stand out clearly. A bold font can be tinted with the primary theme color without losing readability.
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