[Fontconfig] WIN32 questions

Arif Bilgin arif at research.att.com
Thu Jan 21 11:15:03 PST 2010

I have

Here is the wired in config file locations ehich don't mean a lot to WIN32

> -----Original Message-----
> From: mpsuzuki at hiroshima-u.ac.jp [mailto:mpsuzuki at hiroshima-u.ac.jp]
> Sent: Thursday, January 21, 2010 2:08 PM
> To: Arif Bilgin
> Cc: fontconfig at lists.freedesktop.org
> Subject: Re: [Fontconfig] WIN32 questions
> Hi,
> Do you have the source of fontconfig and checked it?
> I think most of your questions are easily understood
> from the source.
> On Thu, 21 Jan 2010 10:19:34 -0500
> "Arif Bilgin" <arif at research.att.com> wrote:
> >I am a Graphviz developer who is particularly in charge of WIN32 port
> of it.
> >Because of the application directory structure differences between
> *nix
> >systems and WIN32 , I have had hard time to figure out few things
> about
> >fontconfig.
> >
> >Here are my questions
> >
> >1) Is there a way to specify the location of fonts.conf file.It seems
> >fontconfig looks for ../etc/fonts/fonts.conf and I like to move it
> somewhere
> >in windows users application data directory.
> To change the location of system-wide configuration file
> from ${prefix}/etc/fonts/fonts.conf to anywhere, using
> --sysconfdir=DIR would be popular for autoconfized softwares.
> The location of the system-wide fonts.conf would be installed
> to DIR/fonts/fonts.conf.
> But you wrote "windows users application data directory".
> Do you mean something like
>   "C:\Documents and Settings\foo\Application Data\bar\fonts.conf"
> ? The location of per-user configuration file is specified
> by the system-wide configuration file. Please find
> /etc/fonts/conf.d/50-user.conf, it describes
> <?xml version="1.0"?>
> <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
> <fontconfig>
>         <!-- Load per-user customization file -->
>         <include ignore_missing="yes">~/.fonts.conf.d</include>
>         <include ignore_missing="yes">~/.fonts.conf</include>
> </fontconfig>
> You can change the location of per-user configuration fonts.conf
> by customizing this file, or add new file into the directory
> ${prefix}/etc/fonts/conf.d/
> >2) Does fontconfig have a function that creates the config files
> >automatically and sets the appropriate windows font directory value.
> Right
> >now It has to be done during installation of our application and that
> causes
> >problems on some win32 boxes with tight security policies.
> I'm not sure what is the problem. About the configuration files,
> I think the installation of fontconfig just copies the system-wide
> configuration files to the configured directory. If copying files
> to the configured directory causes the security problem, maybe
> you will have to install everything (both of library DLLs and
> configuration files) per-user... is it what you want to do?
> About "appropriate windows font directory" - please check
> the part enclosed by "#ifdef _WIN32" ... "#endif" in
> fontconfig/src/fcxml.c. fontconfig is designed to set the
> directories in run-time, in automatically, by Win32 APIs.
> >3) We use pangocairo as font renderer for Graphviz. Pangocairo has its
> own
> >way of handling fontconfig calls.It is a black box for us.We feed
> pangocairo
> >with a font description and hope that it finds the right font.
> Why you cannot use Win32 font backend of Pangocairo?
> >There are times that user knows everything about a font  (name of the
> file
> >,location of the file) but we still have to go through to whole font
> >matching process to force fontconfig to locate the font file that we
> already
> >know. Is there a way to tell fontconfig "hey this is the font file ,
> just
> >give it back to me (in our case give it back to pangocairo) as a
> return
> >value". Do we need to maintain a font name-font file map and use it to
> >achieve that.
> I'm not sure what you mean "give it back to me". Do you want
> to get some identifier in fontconfig from given pathname?
> I think fontconfig does not have any identifier except of
> the pathname of the font file (and the index to specify
> a face in TTC). Other properties (or combination of them)
> are not guaranteed to be unique key to specify the font.
> I guess, what you want to do might be...
> * you're using pangocairo with fontconfig backend.
> * you have to specify a font for pangocairo with a face name.
> * but the face name Windows user see is (sometimes) different
>    from the face name fontconfig manages.
> * so you want an unique key to specify a font via fontconfig,
>   from concrete pathname of the font file.
> I think there is no perfect way. However, if you allow the
> ambiguity that cannot be identified by the combination of
> family name, style name and full name, you can use the combination
> of them as an identifier. I'm not familiar with the smart
> Win32 way to extract these strings from given pathname of
> the font file. If there's no, FreeType2 can extract these
> properties from given pathname of the font file.
> Regards,
> mpsuzuki

More information about the Fontconfig mailing list