~jaro/balkon

ref: 61143e4c27e58f5aac8beb5fa92925173f397e23 balkon/CHANGELOG.md -rw-r--r-- 1.7 KiB
61143e4cJaro Colocate golden test definitions with specs. 1 year, 6 months ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# Revision history for Balkón

## 0.3.0.1 -- TBD

* Fixed compatibility with base < 4.15.

## 0.3.0.0 -- 2023-04-13

* Added partial support for bidirectional text
  (LTR and RTL in the same paragraph).

    * The paragraph direction is assumed to be LTR.
      This will be configurable in a future interface.

    * Only strong directional characters are used to determine text direction.

    * The direction of weak directional characters and neutral characters is
      determined by the nearest preceding strong directional character, or if
      none is found, the nearest following strong directional character.

    * Explicit bidirectional formatting characters are ignored.

* Exposed functions to allow verification of correct input text slicing:
  `paragraphSpanBounds`, `paragraphSpanTexts`, and `paragraphText`.

## 0.2.1.0 -- 2023-04-04

* Added pagination.

## 0.2.0.0 -- 2023-03-28

* Added support for forced (hard) line breaks in the input text.

* Now also trimming white space at the beginning of lines.

* Internally, language tags will be cut at the first invalid character before
  being passed to ICU.

* Tests will generate output in "shaped runs" format which can be passed to
  a text rendering application.

## 0.1.0.0 -- 2023-03-13

* Text shaping using HarfBuzz.

* Breaking text on line and character boundaries using the International
  Components for Unicode (ICU) library.

* Trimming white space at the end of lines.

* Calculation of containing block bounds and fragment bounds.

* Support for plain text (single font and line height) in one horizontal
  direction (LTR or RTL).

* Input can be divided into spans. This division will be preserved in the
  output.

* Each span can use a different language for text shaping and line breaking.