Age | Commit message (Collapse) | Author |
|
Use a regular font weight and dimmer color for the entry date.
|
|
SGR codes 2 and 10.
|
|
IssueID #427
# Conflicts:
# res/about/version.gmi
|
|
Put a new GmRun under an inlined image with the image metadata, so it doesn't overlap the caption text.
Open URLs are now indicated with a document-width box instead of window-width box. The box is also slightly expanded for a nicer look. Links have a bit of padding around them so this doesn't cause overlaps with other runs.
|
|
Metadata of inlined images shouldn't overlap the caption text.
Open URL highlights are not drawn fullwidth to avoid clashing with side elements and generally to look more consistent.
|
|
Other formatting besides line breaks is ignored for now, although attributed strings could be used here.
|
|
|
|
Manage a color palette separately for each GmDocument, and activate one of them globally whenever a document is being drawn.
Palettes are cached in memory.
|
|
Making the heading hierarchy even clearer. H3 is now indented like normal text lines, and uses a bolder font.
|
|
The bold weight was a little bit too strong compared to the regular-weight level 2 headings.
|
|
|
|
Swapped bold styling of heading levels 2 and 3 for better visual distinction of the hierarchy.
|
|
|
|
The background color of the current text run can be changed via ANSI SGR control sequences.
Improved the ANSI escape sequence regex to detect more than just SGR sequences, so they can be properly filtered out.
|
|
Changing the fonts, zoom level, or window width will cause cached documents to be laid out again if they are restored from memory.
|
|
Spacing of heading lines was being reduced for a nicer appearance, but since backgrounds are erased behind text runs, it was causing issues with some fonts.
Therefore this is disabled for now until I figure out how I want to fix the background issue. Maybe smarter clipping could be applied in the page renderer so that runs are only drawn once, and erasing the background becomes unnecessary?
IssueID #364
|
|
|
|
The corrected CRC-32 function produces different theme seeds.
This restores the old behavior.
|
|
|
|
Warn the user about missing glyphs and potentially unsupported ANSI escapes.
TODO: Site-specific setting for dismissed warning; fonts preference about missing glyph warnings.
|
|
|
|
Banner will take over everything related to the page top banner.
DocumentWidget's content positioning is a bit messy, and now that the banner is no longer part of the GmDocument, it needed a bit of revising. It would still benefit from proper functions for mapping coordinates to/from the GmDocument coordinate space.
|
|
Use the standard `isdigit` from ctype.h.
|
|
|
|
|
|
FG color and font style escapes can be enabled separately. FG color remains enabled by default like before.
|
|
|
|
|
|
When the last safe break position was not in the current attributed run, the calculated wrap advance came out incorrect. This was possible when the first glyph in an attributed run didn't fit.
|
|
Cleaned up serialization of the bool preferences a little.
|
|
It can be argued that using ANSI escapes to style text goes against the intended use of Gemtext. Therefore, all ANSI escapes are now disabled by default in Gemtext.
|
|
These changes concern the situation when the attributes of text (i.e., font, color) are changed via escape sequences.
The concept of "base attributes" was added so that the low-level text renderer knows which font/color to set when a "reset" escape sequence is encountered. This depends on what kind of text is being renderer, e.g., preformatted or regular paragraphs.
The base attributes were added as variables in Text because it was getting unwieldy to pass all the information via the draw/measure/WrapText functions.
GmDocument now has a GmTheme struct that collects the font and color information into a single place.
|
|
Convert Markdown to Gemtext and use ANSI escape sequences to switch fonts (bold, italic, monospace). The conversion is still a bit buggy...
|
|
# Conflicts:
# CMakeLists.txt
# res/lang/es.bin
# res/lang/fr.bin
# res/lang/gl.bin
# res/lang/ie.bin
# res/lang/ru.bin
# res/lang/sk.bin
# res/lang/sr.bin
# res/lang/tok.bin
# src/ui/documentwidget.c
|
|
The HarfBuzz and wrapped text changes introduced subtle differences in how text selection works. Fixed a bunch of issues regarding how the individual character selection mode works in edge cases.
IssueID #357
|
|
Media still needs more work to get rid of redundancies and make lookups faster.
FontPacks are manipulated as Media items (not unlike images) so they can be previewed on page, and installed via a click.
FontPack management is not trivial as it includes such details as versioning and whether individual packs are enabled or disabled.
|
|
Added a second version of Iosevka with more line spacing, to be used as the default monospace document font.
|
|
The built-in fonts are loaded via FontPack, and the font table is now constructed dynamically based on available fonts.
A full set of variants (style, size) are prepared for each font, but some of the data gets allocated lazily when needed.
GmRun needed a larger allocation for fonts, so now all the fields are combined into a single bit field.
TODO: Glyph scaling, vertical offsets, and symbol lookup are still not fully working.
|
|
|
|
|
|
|
|
Option to colorize images to grayscale, text color, or preformatted color.
|
|
|
|
|
|
|
|
IssueID #312
|
|
A better way to keep track of the scheme used in a link.
|
|
|
|
|
|
|