Index: root_board.lht =================================================================== --- root_board.lht (revision 16822) +++ root_board.lht (revision 16823) @@ -86,37 +86,9 @@ } ha:font { type=ha - desc { font kit: all fonts used on the board } - ha:FONT-ID { - type=ha - li:name_patterns={p={geda_pcb}; p={[0-9]+}} - desc { the full description of a font; the node name is the integer font id or "geda_pcb" for font 0 (for historical reasons); the name is used only to make each node unique, the ID is also a field below } - li:children { - ha:cell_height { valtype=coord; desc={height of the tallest glyph}} - ha:cell_width { valtype=coord; desc={width of the widest glyph}} - ha:id { valtype=integer; desc={unique font ID within the fontkit; fonts are referenced by ID}} - ha:name { valtype=string; desc={user specified, user readable font name}} - ha:symbols { - type=ha - desc { a collections of glyphs availbale in the font } - li:children { - ha:CHARACTER { - type=ha - li:name_patterns={p={.}} - desc { Description of a glyph (symbol). Node name is a signel ASCII character or is of format &xx where xx is a hex digit of the ASCII code of the character. Characters that must use the hex version are: codes below 33 or over 126, &, #, {, \}, /, :, ;, =, \\, :} - li:children { - ha:height { valtype=coord; desc={height of the glyph}} - ha:width { valtype=coord; desc={width of the glyph}} - ha:delta { valtype=coord; desc={TODO}} - ha:objects { - type=li - {TODO: link line and describe simple objects} - } - } - } - } - } - } + desc { font kit: all fonts used on the board (if no font specified, default font will be used) } + li:children { + sy:FONT-ID {/lht_tree_doc/roots/pcb-rnd-font-v1/children/FONT-ID} } } ha:styles { Index: root_font.lht =================================================================== --- root_font.lht (nonexistent) +++ root_font.lht (revision 16823) @@ -0,0 +1,40 @@ +ha:lht_tree_doc { ha:roots { + + ha:pcb-rnd-font-v1 { + type=li + desc={font description} + li:children { + ha:FONT-ID { + type=ha + li:name_patterns={p={geda_pcb}; p={[0-9]+}} + desc { the full description of a font; the node name is the integer font id or "geda_pcb" for font 0 (for historical reasons); the name is used only to make each node unique, the ID is also a field below } + li:children { + ha:cell_height { valtype=coord; desc={height of the tallest glyph}} + ha:cell_width { valtype=coord; desc={width of the widest glyph}} + ha:id { valtype=integer; desc={unique font ID within the fontkit; fonts are referenced by ID}} + ha:name { valtype=string; desc={user specified, user readable font name}} + ha:symbols { + type=ha + desc { a collections of glyphs availbale in the font } + li:children { + ha:CHARACTER { + type=ha + li:name_patterns={p={.}} + desc { Description of a glyph (symbol). Node name is a signel ASCII character or is of format &xx where xx is a hex digit of the ASCII code of the character. Characters that must use the hex version are: codes below 33 or over 126, &, #, {, \}, /, :, ;, =, \\, :} + li:children { + ha:height { valtype=coord; desc={height of the glyph}} + ha:width { valtype=coord; desc={width of the glyph}} + ha:delta { valtype=coord; desc={TODO}} + ha:objects { + type=li + {TODO: link line and describe simple objects} + } + } + } + } + } + } + } + } + } +}} \ No newline at end of file Index: tree.html =================================================================== --- tree.html (revision 16822) +++ tree.html (revision 16823) @@ -47,7 +47,8 @@      outline flag   "material": router path (board outline, slots, cutouts)      substrate flag   material: substrate or insulator     li:layers     ordered list of logical layer IDs hosted by this layer group -  ha:font     font kit: all fonts used on the board +  ha:font     font kit: all fonts used on the board (if no font specified, default font will be used) +   ha:FONT-ID     the full description of a font; the node name is the integer font id or "geda_pcb" for font 0 (for historical reasons); the name is used only to make each node unique, the ID is also a field below ->  ha:styles     routing styles hash: collection of all available routing syles  ha:netlists     all availale netlists   li:netlist     the input netlist (as seen in the last netlist import, a.k.a. forward annotation) @@ -84,6 +85,23 @@  ha:prepend     prepend values while merging; children: a full or partial config tree  ha:append     append values while merging; children: a full or partial config tree +

li:pcb-rnd-font-v1

+

+ +
type:name value ver description +
li:pcb-rnd-font-v1     font description +
 ha:FONT-ID     the full description of a font; the node name is the integer font id or "geda_pcb" for font 0 (for historical reasons); the name is used only to make each node unique, the ID is also a field below +
  cell_height coord   height of the tallest glyph +
  cell_width coord   width of the widest glyph +
  id integer   unique font ID within the fontkit; fonts are referenced by ID +
  name string   user specified, user readable font name +
  ha:symbols     a collections of glyphs availbale in the font +
   ha:CHARACTER     Description of a glyph (symbol). Node name is a signel ASCII character or is of format &xx where xx is a hex digit of the ASCII code of the character. Characters that must use the hex version are: codes below 33 or over 126, &, #, {, }, /, :, ;, =, \, : +
    height coord   height of the glyph +
    width coord   width of the glyph +
    delta coord   TODO +
    li:objects     +

Common subtrees

Each table below describes a subtree that usually does not specify a whole tree (thus they are usually not a valid file on their own). These subtrees are described in a separate table because they are used from multiple other trees.

ha:data

Index: tree.txt =================================================================== --- tree.txt (revision 16822) +++ tree.txt (revision 16823) @@ -44,7 +44,8 @@ outline flag "material": router path (board outline, slots, cutouts) substrate flag material: substrate or insulator li:layers ordered list of logical layer IDs hosted by this layer group - ha:font font kit: all fonts used on the board + ha:font font kit: all fonts used on the board (if no font specified, default font will be used) + ha:FONT-ID the full description of a font; the node name is the integer font id or "geda_pcb" for font 0 (for historical reasons); the name is used only to make each node unique, the ID is also a field below -> ha:styles routing styles hash: collection of all available routing syles ha:netlists all availale netlists li:netlist the input netlist (as seen in the last netlist import, a.k.a. forward annotation) @@ -80,6 +81,23 @@ ha:prepend prepend values while merging; children: a full or partial config tree ha:append append values while merging; children: a full or partial config tree +li:pcb-rnd-font-v1 + +type:name value ver description +li:pcb-rnd-font-v1 font description + ha:FONT-ID the full description of a font; the node name is the integer font id or "geda_pcb" for font 0 (for historical reasons); the name is used only to make each node unique, the ID is also a field below + cell_height coord height of the tallest glyph + cell_width coord width of the widest glyph + id integer unique font ID within the fontkit; fonts are referenced by ID + name string user specified, user readable font name + ha:symbols a collections of glyphs availbale in the font + ha:CHARACTER Description of a glyph (symbol). Node name is a signel ASCII character or is of format &xx where xx is a hex digit of the ASCII code of the character. Characters that must use the hex version are: codes below 33 or over 126, + &, #, {, }, /, :, ;, =, \, : + height coord height of the glyph + width coord width of the glyph + delta coord TODO + li:objects + Common subtrees Each table below describes a subtree that usually does not specify a whole tree (thus they are usually not a valid file on their own). These subtrees are described in a separate table because they are used from multiple other trees.