Hi,

I am struggling at the moment to map from the cmap data to the CFF data
using fontbox.

I am not using the CMap class in fontbox to get the following information
(as much as I would like to) as I can only assume it was not written with
TTF or OTF fonts in mind as I get  "java.lang.NumberFormatException:
multiple points" when trying to use the CMapParser. The code I am using for
parsing the cmap works against TTF files and as such am using the same code
for OTF CFF files. Anyway, from the CMAP I get a unicode index which if you
convert to a char gives me the character. Along with that I get a
calculated glyph index e.g.

unicode character index: 34
character: "
glyphIdx: 517

This is using the SourceSansProBold.otf font from Adobe. The data which is
returned from fontbox from the Mapping array doesn't seem to correlate with
the correct character though e.g.

mappings[glyphIdx] = character called "uni1EA1"

Looking in the mappings array, the quotedbl character which I want is
actually the third element, so I have no idea how 517 would equal 3.

There is a mappingCode for each mapping which initially I thought was a
matching unicode character index, but because it uses CFFStandardEncoding,
it does not follow the traditional unicode mappings.

I have tried just about everything to try and get the cmap and cff mappings
to play together, but I have run out of ideas.

Has anyone else tried to map between the cmap and CFF data and got
anywhere? Any help would be much appreciated.

Regards,

Robert Meyer

Reply via email to