Index: font_geo.c =================================================================== --- font_geo.c (nonexistent) +++ font_geo.c (revision 29108) @@ -0,0 +1,90 @@ +/* + Autogenerated file, please do not edit + Source: svn://repo.hu/pcb-rnd-aux/trunk/alien_fmt_test/io_mentor_cell/font +*/ + +/* Number of different fonts */ +#define PCB_MENTOR_FONT_IDS 2 +#define PCB_MENTOR_FONT_GLYPHS 127 + +/* Ymin and Ymax values per font (in mm) */ +static double pcb_mentor_font_ymax[PCB_MENTOR_FONT_IDS] = { 1.0248275862068965, 1.0248275862068965}; +static double pcb_mentor_font_ymin[PCB_MENTOR_FONT_IDS] = { -0.3972413793103448, -0.3972413793103448}; + +/* glyph widths, per font per glyph (in mm)*/ +static double pcb_mentor_font_width_0[PCB_MENTOR_FONT_GLYPHS] = { + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0.689655172413793, 0.7393103448275862, 0.743448275862069, 0.913103448275862, + 0.9117241379310345, 0.9172413793103448, 0.9048275862068965, 0.0, + 0.8041379310344827, 0.8027586206896551, 0.8758620689655172, 0.8965517241379309, + 0.7448275862068965, 0.8758620689655172, 0.7420689655172413, 0.913103448275862, + 0.9117241379310345, 0.8786206896551724, 0.9117241379310345, 0.9117241379310345, + 0.9117241379310345, 0.9117241379310345, 0.9117241379310345, 0.9117241379310345, + 0.9034482758620689, 0.9117241379310345, 0.7420689655172413, 0.7420689655172413, + 0.9006896551724137, 0.9117241379310345, 0.7820689655172414, 0.9117241379310345, + 0.9117241379310345, 0.9144827586206896, 0.9117241379310345, 0.9103448275862068, + 0.9117241379310345, 0.9117241379310345, 0.9117241379310345, 0.9103448275862068, + 0.9117241379310345, 0.8786206896551724, 0.9117241379310345, 0.9117241379310345, + 0.9117241379310345, 0.9117241379310345, 0.9117241379310345, 0.9117241379310345, + 0.9117241379310345, 0.9117241379310345, 0.9117241379310345, 0.9117241379310345, + 0.9117241379310345, 0.9117241379310345, 0.9117241379310345, 0.9117241379310345, + 0.9117241379310345, 0.9117241379310345, 0.9117241379310345, 0.8648275862068965, + 0.9103448275862068, 0.8648275862068965, 0.84, 0.9103448275862068, + 0.9103448275862068, 0.9103448275862068, 0.9103448275862068, 0.9103448275862068, + 0.9103448275862068, 0.9103448275862068, 0.9048275862068965, 0.9103448275862068, + 0.9103448275862068, 0.84, 0.8620689655172413, 0.9103448275862068, + 0.8758620689655172, 0.9103448275862068, 0.9103448275862068, 0.9103448275862068, + 0.9103448275862068, 0.9103448275862068, 0.913103448275862, 0.9117241379310345, + 0.9048275862068965, 0.9117241379310345, 0.9103448275862068, 0.9089655172413792, + 0.9103448275862068, 0.913103448275862, 0.9089655172413792, 0.8634482758620688, + 0.689655172413793, 0.8634482758620688, 0.9103448275862068}; + +static double pcb_mentor_font_width_1[PCB_MENTOR_FONT_GLYPHS] = { + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0.6910344827586207, 0.8786206896551724, 0.9186206896551723, + 0.8924137931034483, 0.9158620689655171, 0.9117241379310345, 0.7517241379310344, + 0.8068965517241379, 0.8027586206896551, 0.8772413793103447, 0.8993103448275861, + 0.7475862068965516, 0.8758620689655172, 0.689655172413793, 0.9103448275862068, + 0.9117241379310345, 0.8055172413793102, 0.9117241379310345, 0.9117241379310345, + 0.9117241379310345, 0.9117241379310345, 0.9117241379310345, 0.9117241379310345, + 0.9117241379310345, 0.9117241379310345, 0.689655172413793, 0.8082758620689654, + 0.9117241379310345, 0.9117241379310345, 0.9117241379310345, 0.9103448275862068, + 0.9117241379310345, 0.9144827586206896, 0.9117241379310345, 0.9103448275862068, + 0.9117241379310345, 0.9117241379310345, 0.9117241379310345, 0.9103448275862068, + 0.9117241379310345, 0.8786206896551724, 0.9117241379310345, 0.9117241379310345, + 0.9117241379310345, 0.9117241379310345, 0.9117241379310345, 0.9117241379310345, + 0.9117241379310345, 0.9103448275862068, 0.9117241379310345, 0.9117241379310345, + 0.9117241379310345, 0.9117241379310345, 0.9117241379310345, 0.9117241379310345, + 0.9117241379310345, 0.9117241379310345, 0.9117241379310345, 0.8648275862068965, + 0.9103448275862068, 0.8648275862068965, 0.84, 0.9103448275862068, + 0.9117241379310345, 0.9103448275862068, 0.9103448275862068, 0.9103448275862068, + 0.9103448275862068, 0.9103448275862068, 0.9103448275862068, 0.9103448275862068, + 0.9103448275862068, 0.49241379310344824, 0.6193103448275862, 0.9103448275862068, + 0.49241379310344824, 0.9103448275862068, 0.9103448275862068, 0.9103448275862068, + 0.9103448275862068, 0.9103448275862068, 1.0124137931034483, 0.9075862068965517, + 0.9103448275862068, 0.9103448275862068, 0.9103448275862068, 0.9103448275862068, + 0.9103448275862068, 0.9103448275862068, 0.9117241379310345, 0.8413793103448275, + 0.689655172413793, 0.8413793103448275, 0.9103448275862068}; + +static double *pcb_mentor_font_widths[PCB_MENTOR_FONT_IDS] = { + pcb_mentor_font_width_0, + pcb_mentor_font_width_1 +}; + +/* Macros to determine whether an font id or glyph is within range */ +#define PCB_MENTOR_FONT_ID_VALID(id) (((id) >= 0) && ((id) < PCB_MENTOR_FONT_IDS)) +#define PCB_MENTOR_FONT_GLYPH_VALID(gl) (((gl) >= 0) && ((gl) < PCB_MENTOR_FONT_GLYPHS))