[gs-bugs] [Bug 691955] Missing CIDFmap?

bugzilla-daemon at ghostscript.com bugzilla-daemon at ghostscript.com
Wed Feb 16 09:40:52 UTC 2011


--- Comment #26 from Ken Sharp <ken.sharp at artifex.com> 2011-02-16 09:40:50 UTC ---
(In reply to comment #24)

> > *If* CUPS runs it's filters as the current user, and not some special
> > privileged user, then add the GS_LIB environment variable to your ~/.profile
> > file might just help you.
> I don't intend to set it for some special privileged user. I want to set it for
> everyone ( as a default/global GS setting ). If this is default setting, users
> do not need to add this variable to their profile. If we have a lot of users,
> this is not a good idea. 

Will *all* user have exactly the same fonts available ? If so then simply set
GS_LIB globally as well. If not, then individual accounts will require custom
cidfmaps in order to access the included fonts.

> As a user, I compile and install Ghostscript9.00. I never think that the empty
> cidfmap is used to build it.

The *default* cidfmap is empty. That's because GS doesn't know what CIDfonts
you have available (and more importantly can't know which ones you may want to
include, or not).

> in Document). Then update this cidfmap file, but gs won't use this one because
> gs use the first built one in %rom%

Not precisely correct. Ghostscript only uses the one you modify if you tell it
where to look. If you do that then it uses the one you tell it about.

> ( I still have no idea where
> %rom%Resource/Init/cidfmap is. means memory?). 

Built into the executable. Usually the entire executable will be loaded in
memory, but it may be a memory mapped disk file or similar.

>I have to use -I or GS_LIB but
> this is not a good solution for every user. 

Actually, it is. Each user can have a different set of customised fonts. One of
the purposes of cidfmap is to load TrueType fonts as CIDFonts. This is not
possible in a completely automated fashion, and so you must modify cidfmap to
include information which GS cannot extract itself.

Since you *must* edit the file manually, and its contents depend entirely on
which fonts are available to a given user (and their wishes as regards which
fonts should be made available) it makes perfect sense to require the user to
specify the location of the cidfmap file.

> Suggestion to any new user when compile and install GS9.00:
> 1. modify the cidfmap file in source directory first 
> 2. then compile and install
> 3. that make sure you can find the font mapping when using GS

Then all your users will be limited to the precise set of fonts that were made
available when you edited the cidfmap. If one or more of those files is not
available to a particular user, and they try to use the font, they will get an

Users will be unable to 'edit' the file you have loaded into the executable.
This means they could still supply a custom cidfmapp, but would have no idea
what was in the built-in version.

> Just have a question:
> How can we add/modify the font mapping in cidfmap later(after compile) because
> this cidfmap is used to built in %rom%????????

You cannot edit the ROM version. Simply edit the cidfmap and supply the
location using the -I switch.

Configure bugmail: http://bugs.ghostscript.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

More information about the gs-bugs mailing list