FONTLOG for the ArbutusSlab font

This file provides detailed information on ArbutusSlab Font Software.
This information should be distributed along with the ArbutusSlab 
font and any derivative works.

Basic Font Information

ArbutusSlab is a Unicode typeface family that supports 
languages that use the Latin script and its variants, 
and could be expanded to support other scripts.

More specifically, this release supports the following 
Unicode ranges: Latin-1, Latin-2: Easern Europe, Turkish, 
Macintosh Character Set.

There are four source files:

1. ArbutusSlab.vfb Original Source Files with 
   contour overlaps

2. ArbutusSlab-OTF.sfd Merged contours and 
   optimized file corresponding to the OTF file

3. ArbutusSlab-TTF.sfd TrueType outlines with 
   hinting adjustments corresponding to the TTF file

3. ArbutusSlab.otf PostScript outlines OTF-CFF font.

To contribute to the project contact Eben Sorkin at 
sorkineben@gmail.com

ChangeLog

11 September 2012 (Eben Sorkin) ArbutusSlab v1.001
- Mastered Font from Fontlab VBF to TTF and OTF
- Added true type hinting using TTF Autohint version 0.92

1 September 2012 (Karolina Lach) ArbutusSlab v1.000
- Completed first complete version of ArbutusSlab in 
  Fontlab (VBF format)

Acknowledgements

If you make modifications be sure to add your name (N), email (E), web-address
(if you have one) (W) and description (D). This list is in alphabetical order.

N: Karolina Lach
E: karolina.lach@gmail.com
W: www.thekarolina.com/
D: Designer

N: Eben Sorkin
E: sorkineben@gmail.com
W: www.sorkintype.com
D: Mastering
