Around 12 o''clock on May 1, Kang Jeong-Hee wrote:> as a consequence of routine above, Pango or any other higher level > must rescan the FcConfig to recognize the change of fonts.Fontconfig exposes the list of files and directories which need to be monitored for changes that might affect the configuration: FcStrList * FcConfigGetFontDirs (FcConfig *config); FcStrList * FcConfigGetConfigDirs (FcConfig *config); FcStrList * FcConfigGetConfigFiles (FcConfig *config); Monitor every file in those lists and you''ll know when the configuration might need to be reloaded. You can poll by using: FcBool FcConfigUptoDate (FcConfig *config); which returns TRUE if the configuration is not out of date with the disk files. When it returns FALSE, you can call: FcBool FcInitReinitialize (void) to reinitialize the library. Fontconfig automatically does this process whenever FcFontList is called (but no more often than the rescan interval, which defaults to 30 seconds). -keith
Hi. http://www.freetype.org/pipermail/freetype/2003-April/006075.html is describing font adding at runtime. as a consequence of routine above, Pango or any other higher level must rescan the FcConfig to recognize the change of fonts. -- as far as I understand, FcConfig has the fonts available. for example, let put a scenario: 1. load a font at runtime 2. get a matched FcPattern from FcFontName() with a preset of FcPattern. 3. set the FcPattern to a higher level object, e.g. PangoFontDescription. well, in this scenario, how to detect on change of FcConfig? I mean, how to do #2 after #1? how to know #1 is done? I suppose that signal/callback system like GTK+ does is required. fc_object_connect (fccfg, "changed", fc_config_changed_cb, NULL); but.. fontconfig may not support that, or do? thx kz