Comment 3 for bug 699460

Revision history for this message
Ineiev (ineiev) wrote :

Next version of the patchset: fixed some bugs, added some
usability handles, a particular version of FreeType2
is incorporated to produce repeatable renderings.

NB I cut off extern/freetype-2.3.9.tar from
0006-implement-FreeType2-fonts-FILE-FORMAT-CHANGED.patch;
that file made the patch too long to post on SF Tracker;
it is just unbzip22ed FreeType release archive

patch;
that file made the patch too long to post on SF Tracker;
it is just unbzip22ed FreeType release archive

Updated notes on usage follow.

The patchset abstracts font structures; enables multiple fonts
in single board; introduces new font types, FreeType2 and QCAD

It tries to save files compatibly with unpatched versions of PCB
when no new features are used, but in other cases the mainstream PCB
can't read these files.

New actions are introduced:

ListFonts():
  all loaded fonts are enumerated in PCB Log

ReportFont(font_index)
  font properies are reported

FontProperies(font_index)
  changable font properties are assigned in a window;
  the properties set includes at least user-defined font label

ShowFont(font_index,rows_number,cols_number,first_glyph_index,
  row_separation,col_separation,scale)
  generates a board where the font glyphs are shown in a table;
  the glyphs are referenced with escaped sequences;
  this can be used to copy and paste via ChangeName action (key `N')

LoadFreetype(font_name,face_index,attachment_name,[link|embed])
  load a FreeType font from file `font_name'; `face_index' is
  the index of face from the font file to use; `attachment_name'
  is the name of file to `attach' to the font; the last
  argument is whether to add a reference to the file or embed it
  into the PCB file. the default behaviour is to link, because
  embedding may restrict PCB file distribution terms; however,
  the user have to ensure that the font file will be available.
  the paths to the files are either absolute or relative to
  current PCB file location

LoadQCADFont(font_name,scale,line_width)
  load a QCAD font from file `font_name'; scale is multiplier
  to use for texts with scale equal to 100%; line_width is line
  width for such texts; the fonts are never embedded.

To make it possible to pick any glyphs from the font, even when
there is no Unicode character for it, escapes are introduced.
sequences like %FE; are interpreted as glyph index.