Highlighted

FrameMaker 2017 corrupts fonts in Visio-created SVG files

Explorer ,
May 01, 2019

Copy link to clipboard

Copied

I have many (several hundred) SVG files that use the Arial font. All of them are saved from Microsoft Visio 2016 and used in my FrameMaker 2017 documentation.

My old laptop had both the Arial and Helvetica fonts installed. FrameMaker 2017 displayed the SVG files correctly on that laptop.
My new laptop has only Arial. Even though my SVG files do not use Helvetica (manually confirmed in the SVG source code), FrameMaker 2017 corrupts any use of the Arial font when displaying these SVG files. These same SVG files work fine in every other browser and viewer I have tried on my new laptop.
I eventually traced this to the fact that Arial is capitalized in the font-family definition inside the SVG file:

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"

        xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="3.51042in" height="1.01042in"

        viewBox="0 0 252.75 72.75" xml:space="preserve" color-interpolation-filters="sRGB" class="st4">

    <v:documentProperties v:langID="1033" v:viewMarkup="false"/>

    <style type="text/css">

    <![CDATA[

        .st1 {fill:#eeeaf2;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}

        .st2 {fill:#000000;font-family:Arial;font-size:1.5em}

        .st3 {font-size:1em}

        .st4 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}

    ]]>

    </style>

From the reading I've done, this is correct -- you capitalize the names of specific fonts, like Arial, but you lowercase general font families, like sans-serif.

Nevertheless, if I (incorrectly) lowercase Arial in my SVG file, then FrameMaker handles it properly:

fm2017_svg_font_bug.PNG

Perhaps there is some ancient dusty code inside FrameMaker that is hardcoded to map uppercase Arial to Helvetica somewhere in its SVG processing pipeline? I don't know. I can't think of any other reason why SVG handling of Arial should be affected by the presence or absence of Helvetica.

Time for some ugly file post-processing workarounds.

Views

185

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more

FrameMaker 2017 corrupts fonts in Visio-created SVG files

Explorer ,
May 01, 2019

Copy link to clipboard

Copied

I have many (several hundred) SVG files that use the Arial font. All of them are saved from Microsoft Visio 2016 and used in my FrameMaker 2017 documentation.

My old laptop had both the Arial and Helvetica fonts installed. FrameMaker 2017 displayed the SVG files correctly on that laptop.
My new laptop has only Arial. Even though my SVG files do not use Helvetica (manually confirmed in the SVG source code), FrameMaker 2017 corrupts any use of the Arial font when displaying these SVG files. These same SVG files work fine in every other browser and viewer I have tried on my new laptop.
I eventually traced this to the fact that Arial is capitalized in the font-family definition inside the SVG file:

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"

        xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="3.51042in" height="1.01042in"

        viewBox="0 0 252.75 72.75" xml:space="preserve" color-interpolation-filters="sRGB" class="st4">

    <v:documentProperties v:langID="1033" v:viewMarkup="false"/>

    <style type="text/css">

    <![CDATA[

        .st1 {fill:#eeeaf2;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}

        .st2 {fill:#000000;font-family:Arial;font-size:1.5em}

        .st3 {font-size:1em}

        .st4 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}

    ]]>

    </style>

From the reading I've done, this is correct -- you capitalize the names of specific fonts, like Arial, but you lowercase general font families, like sans-serif.

Nevertheless, if I (incorrectly) lowercase Arial in my SVG file, then FrameMaker handles it properly:

fm2017_svg_font_bug.PNG

Perhaps there is some ancient dusty code inside FrameMaker that is hardcoded to map uppercase Arial to Helvetica somewhere in its SVG processing pipeline? I don't know. I can't think of any other reason why SVG handling of Arial should be affected by the presence or absence of Helvetica.

Time for some ugly file post-processing workarounds.

Views

186

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
May 01, 2019 0

Have something to add?

Join the conversation