[Cuis] Fixed-Width Font

H. Hirzel hannes.hirzel at gmail.com
Mon Jul 20 02:35:38 CDT 2015


On 7/20/15, Dan Norton <dnorton at mindspring.com> wrote:
> On 19 Jul 2015 at 10:31, Juan Vuletich wrote:
>
>> On 7/18/2015 3:37 PM, Dan Norton wrote:
>> > On 11 Jul 2015 at 13:40, Juan Vuletich wrote:
>> >
>> >> Hi Folks,
>> >>
>> >> It is not too hard to build new StrikeFonts. You need to build,
>> by
>> >> hand,
>> >> files like the ones in here:
>> >>
>> https://dl.dropboxusercontent.com/u/13285702/BitmapDejaVuAllSizes.zi
>> >> p
>> >> and learn a bit about stuff like #installDejaVu2 . Maybe it was
>> with
>> >> this method and the files in this zip that built the existing
>> >> instances
>> >> of StrikeFont. Not sure.
>> >>
>> > That's intrigueing but I can't reproduce it. Maybe the .bmp but
>> where did you get the .txt?
>> >
>> >   - Dan
>>
>> I wrote them with a text editor. Check #installDejaVu2 and really
>> try to
>> understand how StrikeFonts work and how they are built with this
>> method.
>> Maybe you'll become enlightened.
>>
>
> A StrikeFont consists of a characterToGlyphMap, xTable, glyphs, name, and
> several scalars.
> StrikeFont class methods create fonts by processing file pairs assumed to be
> in the
> "AAFonts" subdirectory. For example:
>
> DejaVu Sans Oblique 14.bmp
> DejaVu Sans Oblique 14.txt
>
> Is one such pair providing the italic (oblique) style for 14-point size.
> There is a pair for every
> font size and style: base, bold, italic, and bold italic. Therefore a font
> such as "DejaVu Sans"
> which is available in the size interval 5 to 24 requires 160 files. The file
> names are stylized
> and encoded in the StrikeFont class methods.
>
> Glyphs come from the .bmp file. The .txt file is a string of numbers; the
> first three specify
> pointSize, ascent, and	descent. The rest of the numbers in the .txt file are
> used to form the
> xTable, which is the index into the glyphs for a character. The
> characterToGlyphMap is an
> array of 256 entries which map a character's ascii value to the xTable and
> thence to the
> glyphs.
>
> The bold, italic, and bold italic styles are stashed as derivatives of the
> base and not
> selectable from the current menus.
>
> StrikeFont is a subclass of AbstractFont, which has class variables
> AvailableFonts and
> DefaultFont.
>
> If it can't find a file, StrikeFont will loop.
>
> In regard to creating the .bmp and .txt files, you say, "I wrote them with a
> text editor." Please
> tell me which text editor you used. None of mine do that.
>
>  - Dan

What I used in the past is the StrikeFont bitmap editor which is in
Squeak. In MVC if I remember well. So an early version of Squeak (e.g.
3.8.1 Oct 2006)  is helpful.

These versions are very accessible these days  http://squeak.org/downloads/

--Hannes




More information about the Cuis mailing list