Skip to main content
Hi Gurus,

 

 

We are in the process of transiting from MapInfo v7 to Arc 10 and have written a bunch of workspaces to produce Feature Classes in the new SDE.  This all works fine.

 

 

The problem comes now we are about to switch our "point of truth" from TAB to the SDE and we need to run some legacy MapInfo Systems in the process.  No problems right? Just author some more workbenches to write TAB files back from the SDE Feature Classes and use the MapInfoStyler to generate their symbology based on the LYR files we already created as part of the migration.  Easy-peasy!

 

 

The problem comes when we have some Branches using custom True Type Fonts to symbolise their data.  When we did the migration we got the data custodians to sign off on a symbology change to use standard Esri symbols, but they want to see their old symbols in the legacy systems! Grrrr.

 

 

Long-winded, but here's the question:

 

How do I use a custom True Type Font library to assign symbology to data being output to a v7 MapInfo TAB file?

 

 

In MI it was as easy as throwing the TTF in with the system fonts and viola! She's ready to rock'n'roll! But we have persued numerous paths (all relating to the MapInfoStyler) and have had no success.  No warnings or errors either, just elements in a TAB file with no symbology!

 

 

Are we headed in the right direction?
It is important to separate the character value (e.g. 65) and the graphical representation on screen (e.g. "A"). What you probably need to do is to replace the stored character values (e.g. 65 -> 70) and then let the selected TrueType font do its thing to represent those as you chosen graphical symbol.

 

 

First, I would make a translation table of the corresponding character VALUES (in decimal) in each system, e.g.

 

 

MapInfo -> ArcGIS

 

65 -> 70

 

66 -> 71

 

67 -> 85

 

 

This would signify that the font symbol used in MapInfo with the value 65 corresponds to the font symbol in ArcGIS with value 70, etc.

 

 

Using this, it should be easy to use a StringPairReplacer to translate between these. Note that the FME input boxes are based on a Latin font, so that even though you can translate between the VALUES, the symbols you see in the StringPairReplacer won't necessary look like they do in MapInfo or ArcGIS, but this makes no difference.

 

 

So, for the above example, I would have used the following string in the StringPairReplacer:

 

 

A F B G C P

 

 

65=A,70=F, etc, according to the ASCII table (http://www.asciitable.com/)

 

 

Hope this makes sense and that it helps you along.

 

 

Good luck!

 

 

David
Sorry, I made a typo, the StringPairReplacer should look like this:

 

 

A F B G C U

 

 

which corresponds to the following character values

 

 

65 70 66 71 67 85

 

 

based on my example below.

 

 

David

 

 


Reply