|Anonymous | Login||2017-11-17 19:53 EST|
|Main | My View | View Issues | Change Log | Roadmap | My Account|
|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0001870||graphviz||Dot||public||2010-04-28 05:25||2011-04-28 04:03|
|Summary||0001870: Not all HTML symbols are rendered in dot|
Not all HTML 4.0 entities for symbols or special characters are rendered in dot.
For example the HTML entity for "greater than", i.e. > is rendered,
whereas the HTML entity for "greater or equal than", i.e. ≥ is not rendered.
There are many more examples of not-rendered HTML 4.0 symbols.
\<A HREF="b1940.png"\>Works\</A\> for me on Fedora.
Please try a different fontname. e.g.: dot -Nfontname=helvetica
Also works on the Mac.
There is a problem with the default font on Windows, but using the
Arial font, the output is correct.
The graphviz code works correctly. The user needs to find a font
able to handle the required glyphs.
I solved the problem behind bug 1940, which I posted yesterday.
All had to do with not using the "cairo" engine option when producing postscript output files.
dot -Tps:cairo filename.dot -o filename.ps
Perhaps -Tps should always default to -Tps:cairo, or at least this problem should be stressed upon stronger in the help.
The problem has several factors. First, your input should have produced a warning using -Tps:
Warning: UTF-8 input uses non-Latin1 characters which cannot be handled by this PostScript driver
so we do warn about this. If you didn't see this, please let us know how you used dot, so we can figure out
why the warning didn't appear.
Second, as John suggested, the problem also relates to which font you pick up on your machine. When we ran
your input on a Windows machine using -Tpng (which relies on cairo), we got the incorrect output, but switching to Arial fixed the problem.
You can locally change your default -Tps renderer if you like, by increasing the "quality" number of the ps:cairo "device" plugin in /usr/lib/graphviz/config6. Be warned though that this file will be overwritten if graphviz is upgraded.
There are actually three "ps" renderers:
-Tps:ps - Latin characters only + Supports anchors + the original renderer, comprehensible generated code
-Tps:lasi + Full UTF-8 support + Supports anchors - new, inefficient, uncommon dependency, C++, partially comprehensible code
-Tps:cairo + Full UTF-8 support - No anchors - generated postscript is incomprehensible
The choice depends somewhat on what your typical usage is.
Nope, I do not get any related warning running my digraph .dot file with plain vanilla -Tps under Windows XP.
I only receive two warnings about ignored ranksets which I know about.
Under Linux at home, it is not an issue because cairo happens to be the standard engine there.
Being a complete newbie to Grapviz, I guess that I am not receiving any input-related warnings because of using the
charset=Latin1; statement at the very beginning of the file I work on.
Anyhow, using the -Tps:cairo option everything works fine now under Windows.
Thank you for this great software and support!
A colleague of my also picked it up and is equally very happy with it.
Okay, that explains it. Your input is really UTF-8 (the character ≥ is not Latin-1). Normally, the default ps
renderer notes that is can't handle it and prints a warning. Since you set charset=Latin1, the ps renderer assumes
you know what you are doing, and emits bytes, ascii and non-ascii, as Latin-1 characters, the latter of which may
or may not be correctly rendered depending on the font. The cairo renderer handles UTF-8 and does whatever
it needs to produce the appropriate postscript. But as we saw on Windows, it can still fail unless it has a font
supporting the required characters.
|Tags||No tags attached.|
The full lists of all HTML 4.0 symbols that should be able to be rendered in order to be fully compliant are available on the following URLs:
|2011-04-28 04:03||user1||New Issue|
|2011-04-28 04:03||user1||Assigned To||=> erg|
|MantisBT 1.2.5[^] Copyright © 2000 - 2011 MantisBT Group|