You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+11-3Lines changed: 11 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,13 @@
1
1
## Changelog
2
2
3
+
### v3.1.0
4
+
5
+
- add requirements.txt file with pinned dependency versions
6
+
- update all build dependencies to current release versions
7
+
- the fontTools dependency updates add support for Unicode 13
8
+
- convert PyPI documentation to repository README Markdown file
9
+
- add Py3.8 interpreter to CI testing
10
+
3
11
### v3.0.0
4
12
5
13
- added baseline to baseline distance calculations for hhea, typo, and win metrics to reports
@@ -18,7 +26,7 @@
18
26
- modified Travis CI testing to Python 3.5 - 3.7
19
27
- refactored Appveyor CI settings file
20
28
- modified Appveyor CI testing to Python 3.5 - 3.7
21
-
-
29
+
-
22
30
23
31
### v1.0.1
24
32
@@ -52,8 +60,8 @@
52
60
53
61
- modified percent command calculations to maintain vertical metrics approaches in the original font design
54
62
- added vertical metrics modification support for fonts designed with the following vertical metrics approaches:
55
-
- Google style metrics where TypoLinegap = hhea linegap = 0, internal leading is present in [OS/2] TypoAsc/TypoDesc, [hhea] Asc/Desc, [OS/2] winAsc/winDesc
56
-
- Adobe style metrics where TypoLinegap = hhea linegap = 0, TypoAsc - TypoDesc = UPM, internal leading in [hhea] Asc/Desc & [OS/2] winAsc/winDesc
63
+
- Google style metrics where TypoLinegap = hhea linegap = 0, internal leading is present in [OS/2] TypoAsc/TypoDesc, [hhea] Asc/Desc, [OS/2] winAsc/winDesc
64
+
- Adobe style metrics where TypoLinegap = hhea linegap = 0, TypoAsc - TypoDesc = UPM, internal leading in [hhea] Asc/Desc & [OS/2] winAsc/winDesc
font-line is a libre, open source command line tool for OpenType vertical metrics reporting and command line based font line spacing modifications. It supports `.ttf` and `.otf` font builds.
10
+
11
+
font-line is a libre, open source command line tool for OpenType vertical metrics reporting and command line based font line spacing modifications. It supports `.ttf` and `.otf` font builds.
font-line supports automated line spacing modifications to a user-defined percentage of the units per em metric. This value will be abbreviated as UPM below.
201
+
font-line supports automated line spacing modifications to a user-defined percentage of the units per em metric. This value will be abbreviated as UPM below.
204
202
205
203
#### `percent` Sub-Command Usage
206
204
207
-
Enter the desired percentage of the UPM as the first argument to the command. This should be *entered as an integer value*. Then enter one or more font paths to which you would like to apply your font metrics changes.
205
+
Enter the desired percentage of the UPM as the first argument to the command. This should be _entered as an integer value_. Then enter one or more font paths to which you would like to apply your font metrics changes.
A common default value used by typeface designers is 20% UPM. To modify a font on the path `TheFont.ttf` to 20% of the UPM metric, you would enter the following command:
211
+
A common default value used by typeface designers is 20% UPM. To modify a font on the path `TheFont.ttf` to 20% of the UPM metric, you would enter the following command:
214
212
215
213
```
216
214
$ font-line percent 20 TheFont.ttf
217
215
```
218
216
219
217
Increase or decrease the integer value to increase or decrease your line spacing accordingly.
220
218
221
-
The original font file is preserved in an unmodified version and the modified file write takes place on a new path defined as `[original filename]-linegap[percent].[ttf|otf]`. The path to the file is reported to you in the standard output after the modification is completed. font-line does not modify the glyph set or hints applied to the font. See the Details section below for a description of the OpenType table modifications that occur when the application is used on a font file.
219
+
The original font file is preserved in an unmodified version and the modified file write takes place on a new path defined as `[original filename]-linegap[percent].[ttf|otf]`. The path to the file is reported to you in the standard output after the modification is completed. font-line does not modify the glyph set or hints applied to the font. See the Details section below for a description of the OpenType table modifications that occur when the application is used on a font file.
222
220
223
221
You can inspect the vertical metrics in the new font file with the `report` sub-command (see Usage above).
224
222
225
223
#### Details of Font Metrics Changes with `percent` Sub-Command
226
224
227
-
The interpretation and display of these multiple vertical metrics values is platform and application dependent. [There is no broadly accepted "best" approach](https://github.com/source-foundry/font-line/issues/2). As such, font-line attempts to preserve the original metrics design in the font when modifications are made with the `percent` sub-command.
225
+
The interpretation and display of these multiple vertical metrics values is platform and application dependent. [There is no broadly accepted "best" approach](https://github.com/source-foundry/font-line/issues/2). As such, font-line attempts to preserve the original metrics design in the font when modifications are made with the `percent` sub-command.
228
226
229
227
font-line currently supports three commonly used vertical metrics approaches.
font-line calculates a delta value for the total expected height based upon the % UPM value defined on the command line. The difference between this value and the observed number of units that span the [OS/2] winAscent to winDescent values is divided by half and then added to (for increased line spacing) or subtracted from (for decreased line spacing) each of the three sets of Ascender/Descender values in the font. The [OS/2] TypoLinegap and [hhea] linegap values are not modified.
238
+
font-line calculates a delta value for the total expected height based upon the % UPM value defined on the command line. The difference between this value and the observed number of units that span the [OS/2] winAscent to winDescent values is divided by half and then added to (for increased line spacing) or subtracted from (for decreased line spacing) each of the three sets of Ascender/Descender values in the font. The [OS/2] TypoLinegap and [hhea] linegap values are not modified.
241
239
242
240
**Vertical Metrics Approach 2**
243
241
@@ -249,7 +247,7 @@ Where metrics are defined as:
249
247
-[OS/2] winAscent = [hhea] Ascent
250
248
-[OS/2] winDescent = [hhea] Descent
251
249
252
-
font-line calculates a delta value for the total expected height based upon the % UPM value defined on the command line. The difference between this value and the observed number of units that span the [OS/2] winAscent to winDescent values is divided by half and then added to (for increased line spacing) or subtracted from (for decreased line spacing) the [OS/2] winAsc/winDesc and [hhea] Asc/Desc values. The [OS/2] TypoAsc/TypoDesc values are not modified and maintain a definition of size = UPM value. The [OS/2] TypoLinegap and [hhea] linegap values are not modified.
250
+
font-line calculates a delta value for the total expected height based upon the % UPM value defined on the command line. The difference between this value and the observed number of units that span the [OS/2] winAscent to winDescent values is divided by half and then added to (for increased line spacing) or subtracted from (for decreased line spacing) the [OS/2] winAsc/winDesc and [hhea] Asc/Desc values. The [OS/2] TypoAsc/TypoDesc values are not modified and maintain a definition of size = UPM value. The [OS/2] TypoLinegap and [hhea] linegap values are not modified.
253
251
254
252
**Vertical Metrics Approach 3**
255
253
@@ -261,31 +259,28 @@ Where metrics are defined as:
261
259
-[OS/2] winAscent = [hhea] Ascent
262
260
-[OS/2] winDescent = [hhea] Descent
263
261
264
-
*Changes to the metrics values in the font are defined as*:
262
+
_Changes to the metrics values in the font are defined as_:
Note that the internal leading modifications are split evenly across [hhea] Ascent & Descent values, and across [OS/2] WinAscent & WinDescent values. We add half of the new [OS/2] TypoLineGap value to the original [OS/2] TypoAscender or TypoDescender in order to define these new metrics properties. The [hhea] linegap value is always defined as zero.
270
+
Note that the internal leading modifications are split evenly across [hhea] Ascent & Descent values, and across [OS/2] WinAscent & WinDescent values. We add half of the new [OS/2] TypoLineGap value to the original [OS/2] TypoAscender or TypoDescender in order to define these new metrics properties. The [hhea] linegap value is always defined as zero.
273
271
274
272
### Important
275
273
276
-
The newly defined vertical metrics values can lead to clipping of glyph components if not properly defined. There are no tests in font-line to provide assurance that this does not occur. We assume that the user is versed in these issues before use of the application and leave this testing to the designer / user before the modified fonts are used in a production setting.
277
-
274
+
The newly defined vertical metrics values can lead to clipping of glyph components if not properly defined. There are no tests in font-line to provide assurance that this does not occur. We assume that the user is versed in these issues before use of the application and leave this testing to the designer / user before the modified fonts are used in a production setting.
278
275
279
276
## Issue Reporting
280
277
281
278
Please [submit a new issue report](https://github.com/source-foundry/font-line/issues/new) on the project repository.
282
279
283
-
284
280
## Acknowledgments
285
281
286
282
font-line is built with the fantastic [fontTools](https://github.com/fonttools/fonttools) Python library.
287
283
288
-
289
284
## License
290
285
291
-
MIT License. See [LICENSE.md](docs/LICENSE.md) for details.
286
+
MIT License. See [LICENSE.md](docs/LICENSE.md) for details.
0 commit comments