summaryrefslogtreecommitdiff
path: root/src/gmdocument.c
AgeCommit message (Collapse)Author
2021-10-11Media refactoring; working on FontPack managementJaakko Keränen
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.
2021-10-08Font configuration; Prefs has a string value arrayJaakko Keränen
Added a second version of Iosevka with more line spacing, to be used as the default monospace document font.
2021-10-06Revised runtime font managementJaakko Keränen
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.
2021-10-03GmDocument: Fixed a crash when selecting textJaakko Keränen
2021-09-24GmDocument: Image link iconJaakko Keränen
2021-09-17Mobile: About pageJaakko Keränen
2021-09-07Added image colorization preferenceJaakko Keränen
Option to colorize images to grayscale, text color, or preformatted color.
2021-08-20Added WebP decoding using libwebpJaakko Keränen
2021-08-06GmDocument: Full-width images in narrow layoutJaakko Keränen
2021-07-25CleanupJaakko Keränen
2021-07-17GmDocument: Avoid redundant envelope link iconJaakko Keränen
IssueID #312
2021-07-17GmDocument: Link scheme flagsJaakko Keränen
A better way to keep track of the scheme used in a link.
2021-07-15RTL line quote and link hover infoJaakko Keränen
2021-07-15GmDocument: Right-align RTL decorationsJaakko Keränen
2021-07-14GmDocument: Fixed lede font change on retryJaakko Keränen
2021-07-13Drawing document RTL text runsJaakko Keränen
The base text direction of each line of text is determined when the document is laid out. When drawing runs, use this predetermined base direction.
2021-07-13Text: Bidi text wrappingJaakko Keränen
There is still some weirdness with wraps that occur inside a bidi region. The problem is that text drawing is done later, in smaller segments, without knowledge of the paragraph base direction. The base direction should be saved into each GmRun as a flag.
2021-07-13Text: Working on bidi text wrappingJaakko Keränen
2021-07-12CleanupJaakko Keränen
2021-07-12GmDocument: CleanupJaakko Keränen
2021-07-12Update link visited status when navigatingJaakko Keränen
When an URL is visited, ensure that links to that URL update their visual state.
2021-07-11GmDocument: Big lede is all or nothingJaakko Keränen
Font size should not suddenly change halfway through a paragraph.
2021-07-11GmDocument: More efficient line wrappingJaakko Keränen
`WrapText` iterates over the wrapped line segments and does a callback on each one, without losing any work buffers and text shaping information along the way.
2021-07-11GmDocument: Refactoring line typesetterJaakko Keränen
The goal is to switch to `WrapText` so the entire paragraph can be processed in one go without having to re-initialize the HarfBuzz buffers after every wrap.
2021-07-11Preferences: Added setting for line spacingJaakko Keränen
IssueID #229
2021-07-06GmDocument: Ignore BOM if presentJaakko Keränen
2021-07-06Text run measurement API change; bug fixesJaakko Keränen
The distinction between measure_Text and advance_Text was not very clear. Now there are only measure_Text functions that return both the bounds and the cursor position advancement, and the appropriate metrics are used by the caller.
2021-07-02GmDocument: Tuning whitespaceJaakko Keränen
2021-07-02Gopher: Adjusted indentsJaakko Keränen
2021-07-01Using Canonical URLsJaakko Keränen
2021-06-30Canonical URIsJaakko Keränen
Internally, all URIs should be converted to a canonical form so that they can be compared against each other. The canonical form is an IRI with spaces and reserved characters percent-encoded.
2021-06-25Merge branch 'dev' into work/v1.6Jaakko Keränen
# Conflicts: # CMakeLists.txt
2021-06-24GmDocument: Mark opened URLs as visitedJaakko Keränen
Set a formatting flag on opened links.
2021-06-24GmDocument: Don't collapse preformatted on Gopher pagesJaakko Keränen
IssueID #300
2021-06-15GmDocument: Link iconsJaakko Keränen
# Conflicts: # src/gmdocument.c
2021-06-15DocumentWidget: Caching error page documentsJaakko Keränen
2021-06-14Swiping and sidebar; various tweaksJaakko Keränen
When a page is opened from the sidebar, swiping back will now reopen the sidebar. Another swipe will dismiss the sidebar and navigate back as usual. Attempted to cache theme colors in GmDocument, but there were issues with theme changes.
2021-06-13GmDocument: Link iconsJaakko Keränen
2021-06-11Mobile: Minor tweaksJaakko Keränen
2021-06-09Merge branch 'dev' into work/typesetterJaakko Keränen
# Conflicts: # src/gmdocument.c # src/ui/documentwidget.c # src/ui/inputwidget.h
2021-06-08Normalize (NFC) document/input field contentJaakko Keränen
The text renderer has problems with composites so normalizing the text (using Unicode normalization form C) yields better results for now.
2021-05-28Gempub: Linear navigation with left/right arrow keysJaakko Keränen
2021-05-28GmDocument: Tuning link icon alignmentJaakko Keränen
Keep it separated from the label text.
2021-05-20Added GmTypesetterJaakko Keränen
2021-05-20GmDocument: Tuning heading line height reductionJaakko Keränen
2021-05-18Merge branch 'dev' into work/typesetterJaakko Keränen
# Conflicts: # src/ui/documentwidget.c # src/ui/inputwidget.c
2021-05-16GmDocument: Headings have reduced line heightJaakko Keränen
2021-05-13Debug info shows total cache/RAM usageJaakko Keränen
2021-05-12Merge branch 'dev' into work/typesetterJaakko Keränen
2021-05-12InputWidget: Expanding while editingJaakko Keränen
The navbar layout cannot accommodate more than one line of text, but allow the editor to expand while writing text.