Main Page Alphabetical List Data Structures File List Data Fields Globals

# font.c File Reference

## Functions

char * | wmf_ipa_font_lookup (wmfAPI *API, char *ps_name)
void | wmf_ipa_font_init (wmfAPI *API, wmfAPI_Options *options)
void | wmf_ipa_font_map_set (wmfAPI *API, wmfMap map)
void | wmf_ipa_font_dir (wmfAPI *API, char *fontdir)
float | wmf_ipa_font_stringwidth (wmfAPI *API, wmfFont *font, char *str)
void | wmf_ipa_draw_text (wmfAPI *API, wmfDrawText_t *draw_text, wmfCharDrawer ipa_draw_text)
void | wmf_ipa_font_map_xml (wmfAPI *API, wmfXML_FontData *FD, char *xmlfontmap)
void | wmf_ipa_font_map_gs (wmfAPI *API, wmfGS_FontData *FD, char *gsfontmap)
void | wmf_ipa_font_map (wmfAPI *API, wmfFont *font)

## Function Documentation

void wmf_ipa_draw_text | ( | wmfAPI * | API,
|  | wmfDrawText_t * | draw_text,
|  | wmfCharDrawer | ipa_draw_text
| ) |

void wmf_ipa_font_dir | ( | wmfAPI * | API,
|  | char * | fontdir
| ) |

void wmf_ipa_font_init | ( | wmfAPI * | API,
|  | wmfAPI_Options * | options
| ) |

char* wmf_ipa_font_lookup | ( | wmfAPI * | API,
|  | char * | ps_name
| ) |

void wmf_ipa_font_map | ( | wmfAPI * | API,
|  | wmfFont * | font
| ) |

This is the fun bit.

Parameters:

  API | the API handle
  font | WMF font object: font's family name, italics flag, and the weight

Other inputs include: a ghostscript-style Fontmap, and up to two XML RedHat-style fontmaps. (These are all parsed earlier.) There are also the fallback 13 standard postscript fonts. And then there is a list of font directories to search for fonts.

libwmf requires fonts to have a postscript name, and maintains an internal cache of glyphs path and freetype font face, keyed to postscript font name. Unfortunately, although the XML fontmaps do have font family name, the GS fontmap does not. In the latter, therefore, matching WMF font info to postscript font name is hit-and-miss.

void wmf_ipa_font_map_gs | ( | wmfAPI * | API,
|  | wmfGS_FontData * | FD,
|  | char * | gsfontmap
| ) |

void wmf_ipa_font_map_set | ( | wmfAPI * | API,
|  | wmfMap | map
| ) |

void wmf_ipa_font_map_xml | ( | wmfAPI * | API,
|  | wmfXML_FontData * | FD,
|  | char * | xmlfontmap
| ) |

float wmf_ipa_font_stringwidth | ( | wmfAPI * | API,
|  | wmfFont * | font,
|  | char * | str
| ) |