Help language development. Donate to The Perl Foundation
1.24.7 2022-11-27T10:01:44+13:00 - Include .notdef in standard glyph-list 1.24.6 2022-05-07T09:28:53+12:00 - Lock-protect loading of font classes in metrics-class method 1.24.5 2021-12-18T06:19:11+13:00 - Fixed slow-down in metrics accessor by adding Data constants. e.g. Font::Metrics::courier::Data 1.24.4 2021-02-06T06:31:11+13:00 - Directly use core font metrics where applicable. For example `Font::AFM.new: :name<Helvetica>` directly uses the metrics from Font::Metrics::helvetica. Solves #8 - Tests and minor fixes to font loading via the METRICS environment variable 1.24.3 2021-01-11T10:14:58+13:00 - Documentation. Highlight `core-font` method. Document what Font::Afm.new: :$name actually does (scans and loads font metrics).. Mention Font::FreeType and HarfBuzz as alternative - Rename sources *.pm -> *.rakumod; *.pl -> *.raku Release 1.24.2 - Replace ISO Latin subset with a full glyph table of all unicode points included in the Core 12 text fonts. - Added glyph table sources etc/glyphlist.txt and etc/make-glyphlist.pl Release 1.24.1 - Fix this module to work with multiple fonts as per PR #5 Release 1.24.0 - Fix issue #4 IsFixedPitch was returning a String 'false' or 'true', not a Bool - In general, all return values are now correctly typed as Int, Numeric, String, Bool, Version or Array based on the data-types defined in the specification (http://www.adobe.com/content/dam/Adobe/en/devnet/font/pdfs/5004.AFM_Spec.pdf) Release 1.23.6 - restore lost etc/make_metrics.pl - avoid need to stantiate metrics classes. Can now use Font::Metrics::courier.BBox, without the need for Font::Metrics::courier.new.BBox - withdraw Font::AFM.new($name) constructor in favour of: Font::AFM.new(:$name) Release 1.23.5 - $.kern method now returns a two item list: my ($kerned, $stringwidth) = $font.kern("RVX"); - Fixed kerning of Courier, and other fonts without kerning data `$font.stringwidth(..., :kern)` and `$font.kern(...)` both now work. If the font lacks kerning data `:kern` is ignored and `$font.kern` returns a single element. - Make class-name method private - Use perl6.c TWEAK submethod Release 1.23.4 Fixed %ISOLatin1Encoding character encoding table Release 1.23.3 Fixed `provides` paths in META.info Release 1.23.2 Fixed for latest rakudo - a multi submethod BUILD can no longer be directly inherited. Changed it to a singular method which calls a multi method Release 1.23.1 Replaced dynamic Pand Build.pm with semi-static make_metrics.pl. - generated AFM files should seldom change. build-time generation of modules was overkill. generated sources are now checked in, and can be occasionally regenerated, when needed. Release 1.23 Making things less ISO-Latin1 centric - inverted @ISOLatin1Encoding => %ISOLatin1Encoding - removed method .wx-table('latin-1') - renamed method .encode => .kern - added :%chars option to .stringwidth, .kern - compute metrics for Symbol, ZapfDingbats - added types to declarations Release 1.22 BBox - now fully parsed to an array of integers Kerning now supported - $afm.Kern - returns kerning table as a two dimensional hash array - $afm.stringwidth("RVX", :kern) - computes stringwith after kerning - $afm.encode("RVX", :kern) - encode and kern characters. 2015-04-30 Release 1.21 Perl 6 port of Perl 5 version 1.20. See https://metacpan.org/pod/Font::AFM for previous change-log and other details. Build - included full set of AFM data in etc/Core14_Fonts - font metrics are computed at panda build time Font::Metrics - classess are now lowercase, e.g. Font::Mertics::times-bold. Plays better with upstream case insensitive handling, e.g. in PDF::Compose