Overview of changes leading to 1.1.0
Wednesday, November 18, 2015
====================================
- Implement 'stch' stretch feature for Syriac Abbreviation Mark.
https://github.com/behdad/harfbuzz/issues/141
- Disable use of decompose_compatibility() callback.
- Implement "shaping" of various Unicode space characters, even
if the font does not support them.
https://github.com/behdad/harfbuzz/issues/153
- If font does not support U+2011 NO-BREAK HYPHEN, fallback to
U+2010 HYPHEN.
- Changes resulting from libFuzzer continuous fuzzing:
* Reject font tables that need more than 8 edits,
* Bound buffer growth during shaping to 32x,
* Fix assertions and other issues at OOM / buffer max-growth.
- Misc fixes and optimizations.
- API changes:
* All fonts created with hb_font_create() now inherit from
(ie. have parent) hb_font_get_empty().
Overview of changes leading to 1.0.6
Thursday, October 15, 2015
====================================
- Reduce max nesting level in OT lookups from 8 to 6.
Should not affect any real font as far as I know.
- Fix memory access issue in ot-font.
- Revert default load-flags of fonts created using hb_ft_font_create()
back to FT_LOAD_DEFAULT|FT_LOAD_NO_HINTING. This was changed in
last release (1.0.5), but caused major issues, so revert.
https://github.com/behdad/harfbuzz/issues/143
Overview of changes leading to 1.0.5
Tuesday, October 13, 2015
====================================
- Fix multiple memory access bugs discovered using libFuzzer.
https://github.com/behdad/harfbuzz/issues/139
Everyone should upgrade to this version as soon as possible.
We now have continuous fuzzing set up, to avoid issues like
these creeping in again.
- Misc fixes.
- New API:
* hb_font_set_parent().
* hb_ft_font_[sg]et_load_flags()
The default flags for fonts created using hb_ft_font_create()
has changed to default to FT_LOAD_DEFAULT now. Previously it
was defaulting to FT_LOAD_DFEAULT|FT_LOAD_NO_HINTING.
- API changes:
* Fonts now default to units-per-EM as their scale, instead of 0.
* hb_font_create_sub_font() does NOT make parent font immutable
anymore. hb_font_make_immutable() does.
pkgsrc changes (no functional changes intended):
o unset USE_LANGUAGES
o use NO_BUILD instead of defining an empty do-build target
Changes:
# Version 2.015 (release build)
Changes vs. release v2.013:
- new vertical metrics = decreased line spacing height - Issues #28, #32, #39,
#41, #95, #103
- adjusted vertical position of the colon to a higher position, improves
alignment with other punctuation glyphs (U+003A) - Issue #66
- changed vertical position of the dash (U+002D) so that regular and oblique,
bold and bold oblique are properly aligned - Issue #107
- updated hinting algorithm for bold set (improved point position over stem of
lowercase j/i for some text sizes) - Issue #84
- underscore (U+005F) centered, increased width, increased height & aligned
vertical position closer to baseline - Issues #97, #98, #100, 103,
- increased vertical position of dieresis mark on lowercase u dieresis
(U+00FC) - Issue #61
- increased vertical position of dieresis mark on lowercase i dieresis (U+00EF)
- increased vertical position of dieresis mark on lowercase e dieresis (U+00EB)
- decreased vertical position of the asterisk (U+002A) - Issue #34
- new design for ascii tilde - broader curves, taller glyph with goal to
improve appearance at small text sizes where it tended to render like a dash
(U+007E) - Issue #37
- new ttf build autohinting script
(./postbuild_processing/tt-hinting/autohint.sh)
- new ttf build autohinting Control Instructions File - bold set
(./postbuild_processing/tt-hinting/Hack-Bold-TA.txt)
- new ttf build release script (./postbuild_processing/tt-hinting/release.sh)
- new web font release script
(./postbuild_processing/webfonts/releasewebfonts.sh)
- new vfb to UFO source file conversion script (./tools/makeufo.sh)
- new UFO source file types - includes separate source files for TrueType
(`*-TT.ufo`) and PostScript (`*-PS.ufo`) releases
- source file path changes: now includes separate `ufo` and `vfb` directories
under the `./source` repository directory
- Hack Open Font license updated to version 2.0. The license changes better
define the Hack project as a derivative project of the Bitstream Vera Sans
Mono typeface project and are intended to make the license more consistent
with the Bitstream Vera libre, open source license under which Hack is
co-licensed. There are no new restrictions on use of the fonts with these
license changes. Embedding permissions are made explicit in this version
of the Hack Open Font license.
# Version 2.013 (release build)
Changes vs. release v2.010:
- Fixed missing middle dot glyph (U+00B7), adjusted width of U+00B7 em box to
address spacing issues in editors that highlight empty spaces
(Issues #27 & #46)
- Powerline glyph alignment and size adjustments (Issue #33)
- Fixed name tables to address:
- incorrect oblique rendering with Java type renderers on OS X (Issue #26)
- incorrect italic + bold + bold oblique rendering in some syntax
highlighters (Issues #42, #50, #60)
- backslash character took inappropriate vertical alignment because of
incorrect slant angle in some editors (Issue #67)
- Changed oblique and bold oblique font names to "Hack Italic" and "Hack Bold
Italic" to address Windows listings
- Changed oblique and bold oblique webfont names to "hack-italic-webfont.[xxx]"
and "hack-bolditalic-webfont.[xxx]"
- Changed oblique and bold oblique basic Latin + Latin-1 webfont subsets to the
names "hack-italic-latin-webfont.[xxx]" and
"hack-bolditalic-latin-webfont.[xxx]"
- Changed license name from "Modified SIL Open Font License" to "Hack Open Font
License" to comply with SIL regulations for SIL Open Font License
modifications
- Removed all license references to SIL to comply with SIL regulations for
modifications of the SIL Open Font License
- Removed SIL Open Font License preamble from the Hack Open Font License to
comply with SIL regulations for modifications of the SIL Open Font License
- Removed the following statement from Hack Open Font License condition #3:
"This restriction only applies to the primary font name as presented to the
users." to address a reserved font name conflict with the Bitstream Vera
license
- Modified the build directory structure for the Hack web fonts
- Added Hack webfont CSS files to the build directory
GNU Unifont is an official GNU package. It is a dual-width
(8x16/16x16) bitmap font, designed to provide coverage for all of
Unicode Plane 0, the Basic Multilingual Plane (BMP).
GNU Unifont has a glyph for each visible code point in the Unicode
Basic Multilingual Plane (Plane 0) and some glyphs in the Supplemental
Multilingual Plane (Plane 1). This version also includes many
glyphs in Michael Everson's ConScript Unicode Registry (CSUR).
Unifont only provides a single glyph for each character, making it
impossible to handle any language properly that needs context-dependent
character shaping. It is supplied in the form of a hex file, with
a converter to convert it to BDF. See http://czyborra.com/unifont/
or http://unifoundry.com/unifont.html for more information. The
BDF font is converted to PCF, and the hex file is converted to a
TrueType font.
Overview of changes leading to 1.0.3
Tuesday, September 1, 2015
====================================
- Start of user documentation, from Simon Cozens!
- Implement glyph_extents() for TrueType fonts in hb-ot-font.
- Improve GPOS cursive attachments with conflicting lookups.
- More fixes for cluster-level = 1.
- Uniscribe positioning fix.
Hack is hand groomed and optically balanced to be a workhorse face
for code.
It has deep roots in the libre, open source typeface community and
expands upon the contributions of the Bitstream Vera & DejaVu
projects. The face has been re-designed with a larger glyph set,
modifications of the original glyph shapes (including distinct
point styles and semi-bold punctuation weight in the regular set
to make analphabetic characters less transparent), and meticulous
attention to metrics (including numerous spacing adjustments to
improve the rhythm of the face and the legibility of code at small
text sizes). The large x-height + wide aperture + low contrast
design combined with PostScript hinting/hint replacement programs
and a TrueType instruction set make it highly legible at commonly
used source code text sizes with a sweet spot that runs in the 8px
- 12px range on modern desktop and laptop monitors. Combine it with
an HD monitor and you can comfortably work at 6 or 7px sizes.
Font containing icons of online academic profiles
Add tex-comicneue{,-doc} 1.0
Use Comic Neue with TeX(-alike) systems
Add tex-esrelation{,-doc} 2015
Provides a symbol set for describing relations between ordered pairs
Add tex-sourceserifpro{,-doc} 1.1
Use SourceSerifPro with TeX(-alike) systems
Add tex-typicons{,-doc} 2.0.7
Font containing a set of web-related icons
2015-08-21 (Paul Sladen) Ubuntu Font Family version 0.83
Note: This release was created by binary patching from the v0.80
release using the scripts in 'sources/patch-0.80-0.83/' to rebuild
the necessary tables. The release selectively updates only those
proportional .ttf font files exhibiting the bug below bug number;
the Ubuntu Mono monospace font files remain unchanged, being the
original version 0.80 ones.
[Marc Foley]
* [Engineering] Fixed wrong characters appear in some mac apps. (LP: #1334363)
Overview of changes leading to 1.0.2
Wednesday, August 19, 2015
====================================
- Fix shaping with cluster-level > 0.
- Fix Uniscribe backend font-size scaling.
- Declare dependencies in harfbuzz.pc.
FreeType is not declared though, to avoid bugs in pkg-config
0.26 with recursive dependencies.
- Slightly improved debug infrastructure. More to come later.
- Misc build fixes.
fonts/tex-Asana-Math to 000.955
fonts/tex-archaic to 2015
fonts/tex-fbb to 1.08a
fonts/tex-fge to 1.25
fonts/tex-garuda-c90 to 2015
fonts/tex-musixtex-fonts to 2015
fonts/tex-newpx to 1.292
fonts/tex-newtx to 1.451
fonts/tex-newtxsf to 1.03
fonts/tex-newtxtt to 1.052
fonts/tex-norasi-c90 to 2015
fonts/tex-rsfso to 1.02
fonts/tex-xcharter to 1.075
8 September 2010 (Mark Simonson) Anonymous Pro Version 1.002
- Fixed (stupid) incorrect design of quotesinglbase and quotedblbase
- Lengthened hyphen
- Shortened underscore so that it is distinct from adjacent underscores
- Increased the weight of the ampersand to make it visually the same weight as other glyphs
- Adjusted vertical position of "<", ">" and math characters to align with hyphen
- Modified design of Cyrillic "ze" to better distinguish it from "3"
- Modified 12ppm and 13ppm "m" bitmap so it does not touch adjacent glyphs
- Corrected asymmetrical parentheses in 13ppm bitmaps
- Corrected missing encoding of .null and CR
- Added installation instructions for Linux to README.txt
Version 4.3.0:
- Updated the font and icons to the 4.3.0 version of the opentype font
- Added a type1 conversion and character mappings, so fontawesome now
also works under pdfLaTeX!
Please note this update will probably break code relying on the
previous release, as many icon names have changed (upstream). I decided
to reflect the upstream name changes as some name changes were
absolutely required to introduce new icon variants with consistent
naming. Sorry for the debugging this will cause to some. I also
automated to process, so expect speedier updates in the future :)
Version 4.3.0-1: Converted the otf font to 1000upm to avoid a bug
within xdvipdfmx.
For version 6.0, added the "\doznumtowords" macro, which
will take a counter and output it in dozenal words. Which
words it uses can be customized; I have made no attempt to
internationalize this with different languages, because I
haven't the foggiest how to do so other than simply writing
option packs with different definitions in them. Also did a
complete rewrite of |\basex|, so its workings are now
(almost) comprehensible. Finally, darkened the tally marks
and put in hand-written italic shapes.
Overview of changes leading to 1.0.1
Monday, July 27, 2015
====================================
- Fix out-of-bounds access in USE shaper.
Overview of changes leading to 1.0.0
Sunday, July 26, 2015
====================================
- Implement Universal Shaping Engine:
https://www.microsoft.com/typography/OpenTypeDev/USE/intro.htmhttp://blogs.windows.com/bloggingwindows/2015/02/23/windows-shapes-the-worlds-languages/
- Bump version to 1.0.0. The soname was NOT bumped.
Overview of changes leading to 0.9.42
Thursday, July 26, 2015
=====================================
- New API to allow for retrieving finer-grained cluster
mappings if the client desires to handle them. Default
behavior is unchanged.
- Fix cluster merging when removing default-ignorables.
- Update to Unicode 8.0
- hb-graphite2 fixes.
- Misc fixes.
- Removed HB_NO_MERGE_CLUSTERS hack.
- New API:
hb_buffer_cluster_level_t enum
hb_buffer_get_cluster_level()
hb_buffer_set_cluster_level()
hb-shape / hb-view --cluster-level
by Leonardo Taccari in response to PR 50016.
Noto's goal is providing a beautiful reading experience for everyone and
for all languages. With visual harmony when multiple languages share a
page. With multiple styles and weights, and freely available to all.
Currently, Noto covers all major languages of the world and many others,
including European, African, Middle Eastern, Indic, South and Southeast
Asian, Central Asian, American, and East Asian languages. Several minority
and historical languages are also supported.
Changelog:
Overview of changes leading to 0.9.41
Thursday, June 18, 2015
=====================================
- Fix hb-coretext with trailing whitespace in right-to-left.
- New API: hb_buffer_reverse_range().
- Allow implementing atomic ops in config.h.
- Fix hb_language_t in language bindings.
- Misc fixes.
pdfTEX: Support JPEG Exif as well as JFIF; do not even emit a warning if
\pdfinclusionerrorlevel is negative; sync with xpdf 3.04.
LuaTEX: New library newtokenlib for scanning tokens; bug fixes in the normal
random number generator and other places.
XeTEX: Image handling fixes; xdvipdfmx binary looked for first as a sibling
to xetex; internal XDV opcodes changed.
MetaPost: New numbersystem binary; new Japanese-enabled upmpost and
updvitomp programs, analogous to up*tex.
Infrastructure: The fmtutil script has been reimplemented to read
fmtutil.cnf on a per-tree basis, analogous to updmap. Web2C mktex* scripts
(including mktexlsr, mktextfm, mktexpk) now prefer programs in their own
directory, instead of always using the existing PATH.