summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2021-07-14Text: Detect Arabic scriptJaakko Keränen
It appears HarfBuzz's script autodetection isn't working here for Arabic.
2021-07-14Fixed text wrapping when HarfBuzz is disabledJaakko Keränen
Updated the old simple text renderer for the new WrapText wrapping.
2021-07-14Text: Ordering runs vs. paragraph/run directionJaakko Keränen
2021-07-14CleanupJaakko 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-13GmCerts: Make the server port knownJaakko Keränen
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: Settings for smooth scroll speedJaakko Keränen
IssueID #297
2021-07-11Preferences: Added setting for line spacingJaakko Keränen
IssueID #229
2021-07-11CleanupJaakko Keränen
2021-07-10Fixed input dialog closing accidentallyJaakko Keränen
The input dialog shouldn't respond to the generic "cancel" command because that'll easily lead to loss of user-entered text. "cancel" is emitted in many situations, including right before a context menu is opened.
2021-07-06macOS: ^⌘Space shows character paletteJaakko Keränen
2021-07-06GmDocument: Ignore BOM if presentJaakko Keränen
2021-07-06InputWidget: Fixed cursor positioningJaakko Keränen
Use advance and not bounds.
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-04CleanupJaakko Keränen
2021-07-04Text: Apply FriBidi (again); fixed wrapping bugsJaakko Keränen
2021-07-04Text: Refactoring AttributedTextJaakko Keränen
AttributedText converts the text to a visual UTF-32 string. This allows it to be processed in a more straightforward fashion, and the indirection allows reordering via FriBidi.
2021-07-04Text: Adjusted Noto Symbols scalingJaakko Keränen
2021-07-04Text: Right-align RTL text linesJaakko Keränen
2021-07-03Feeds: Canonical entry URLsJaakko Keränen
2021-07-03Added build options for HarfBuzz and FriBidiJaakko Keränen
Allow using both `pkg-config` provided libraries for local builds, and configuring more minimal versions for distribution. HarfBuzz has a bunch of dependencies by default. TODO: ENABLE_FRIBIDI_BUILD should cause a static library to be built.
2021-07-03Text: Use FriBidi for visual orderJaakko Keränen
Todo: This seems a little late in the game. The reordering should be done for each paragraph of text.
2021-07-03Text: CleanupJaakko Keränen
2021-07-02Text: Monospace glyph fitting; trying out soft hyphensJaakko Keränen
If glyphs are borrowed from a different font, the offset/advance are adjusted to fit the correct monospacing (for pictographs/emoji).
2021-07-02GmDocument: Tuning whitespaceJaakko Keränen
2021-07-02Text: Keep Nunito Italic kerning as-isJaakko Keränen
2021-07-02Further canonical URIsJaakko Keränen
2021-07-02Gopher: Improved ASCII art detectionJaakko Keränen
2021-07-02Gopher: Adjusted indentsJaakko Keränen
2021-07-02Text: Skip space at word wrap positionJaakko Keränen
2021-07-02CleanupJaakko Keränen
2021-07-02Text: Nunito kerning adjustmentJaakko Keränen
2021-07-02Text: Word wrapping; fixed glyph cachingJaakko Keränen
2021-07-01Text: Working on line wrappingJaakko Keränen
2021-07-01Text: Working on HarfBuzzJaakko Keränen
2021-07-01Using Canonical URLsJaakko Keränen
2021-06-30CleanupJaakko Keränen
2021-06-30Text: Internal and ANSI color escapesJaakko Keränen
2021-06-30Text: Use HarfBuzz to shape textJaakko Keränen
This kind of already works! HarfBuzz will composite glyphs as expected. Still missing: half-pixel offsets, line wrapping, color escapes, monospace grid alignment. FriBidi will still be required to determine/reorder text direction within each run.
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-26Text: Link with HarfBuzz; old run_Font_ is a fallbackJaakko Keränen
HarfBuzz will provide proper Unicode text shaping for both simple and complex scripts. The old `run_Font_` is available for use as a fallback if HarfBuzz is not available due to size or complexity constraints (it's written in C++).
2021-06-25Merge branch 'dev' into work/v1.6Jaakko Keränen
# Conflicts: # CMakeLists.txt