summaryrefslogtreecommitdiff
path: root/src/gmdocument.c
AgeCommit message (Collapse)Author
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.
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-10GmDocument: Monospace link stylingJaakko Keränen
Monospace links should remain monospace regardless of visited state. IssueID #274
2021-05-05Gempub: Split to show index and first chapterJaakko Keränen
When opening a Gempub, split the window and show the index page and the first chapter.
2021-05-04GmDocument: Diminished styling for visited linksJaakko Keränen
Use the bold weight only for new/unvisited links.
2021-05-04Highlight links opened in other tabsJaakko Keränen
The primary purpose is to aid navigation in split view, so one can see exactly which links have been opened.
2021-04-23File URLs support directories and ZIP archivesJaakko Keränen
One is now able to view directory and ZIP archive contents using file URLs. Directory contents are shown as a list of links, enabling previewing supported formats. A link to the parent directory is included at the top of the page. ZIP archives behave like directories, except they also recognize "index.gmi" and "index.gemini" files and display them instead of the regular directory index (when viewing a directory inside a ZIP archive). This enables archiving a Gemini capsule and browsing it as a ZIP archive. Added a preference to disable loading of index pages.
2021-04-20GmDocument: Adjusting narrow margin collapseJaakko Keränen
2021-04-20GmDocument: Collapse margins in narrow layoutJaakko Keränen
2021-04-15DocumentWidget: Don't render background tabsJaakko Keränen
2021-04-15Progressive document renderingJaakko Keränen
VisBuf now guarantees that all the buffers are sequentially ordered. This ensure complete utilization of all the buffers. Previously some buffers were not used at all, or allocated to the same origin as another one (!). DocumentWidget is able to progressively fill up a buffer while scrolling. After any change to the visible region has been detected (and there are no ongoing changes), prerender the remaining runs one at a time. This solves the issue where one text run would be always unnecessarily rendered while scrolling, even if the scroll distance was just one pixel.
2021-04-10GmDocument: Very narrow layoutJaakko Keränen
The right margin is collapsed if the layout is very narrow, for example a zoomed phone.
2021-04-07GmDocument: Trimming link labels with custom EmojiJaakko Keränen
Variation selectors should be skipped as well.
2021-04-05Added option to disable bold linksJaakko Keränen
IssueID #233
2021-04-04GmDocument: Broken bullet in LiterataJaakko Keränen
2021-04-04GmDocument: Fixed list item overdrawJaakko Keränen
Bullet icon backgrounds were overlapping the bullet text, causing them to be overdrawn.
2021-04-03GmDocument: Normalizing plain textJaakko Keränen
Plain text should always go through normalization so tabs are replaced with a known number of spaces. The text renderer uses \t for column alignment.
2021-03-30GmDocument: Font size for preformattedJaakko Keränen
Indents are disabled in the beginning.
2021-03-29Preferences: Collapse preformatted blocks on page loadJaakko Keränen
IssueID #180
2021-03-29Improving alt text animation; cleaned up key shortcut labelsJaakko Keränen
Remove extra Plus signs from key shortcuts.
2021-03-29GmDocument: Fixed plain text layoutJaakko Keränen
2021-03-28Folding preformatted blocks and showing alt textJaakko Keränen
The alt text of preformatted blocks is shown on mouse hover. The blocks can be clicked to toggle folding. IssueID #180
2021-03-27DocumentWidget: Advanced text selectionJaakko Keränen
Double click to select by word, triple click by paragraph. IssueID #134
2021-03-27GmDocument: Finding position in sourceJaakko Keränen
The returned position at a source location is now a range, pointing to the left and right edges of the contacted character.