slovakian ť in FrameMaker

Unfortunately, Slovakian letter ť (latin small letter t with caron) is not supported by FrameMaker.

At first, I thought it was a problem with so-called locked codes in FM (codes which are reserved for internal use for FM and are not available for users). But investigations revealed the following.

Internally, FrameMaker stores character data in MAC encoding, even although it runs under Windows. When FM uses Windows resources (for example, fonts), it transparently converts text between Windows and MAC encodings. The problem is that the letter ť doesn’t exist in the MAC encoding, so there is no ť in FM.

For Slovakian, it’s the only such letter, so nobody want to produce high-tech workarounds. Instead, the simple solution is used: ť is represented as t’ (the letter t plus right single quotation mark).

15 Responses to “slovakian ť in FrameMaker”

  1. Klaus Müller Says:

    There are two workarounds for this unsupported char tcaron (as well as for Zacute):
    – Patch the system codepage (c_1250.nls)
    – Patch the FrameMaker.exe

    See also:
    http://www.microtype.com/resources/FM_BookmarkMapping_Eastern.pdf
    http://www.itl.de/media/pdf/one-world/One-World-Publishing-V1.2.0-En.pdf:
    5.3.3 FrameMaker limitations with Eastern European languages

  2. olpa Says:

    Hello Klaus,

    I’m very glad to see you here. And thanks for the links. I know about the latter document, but I haven’t though about playing with c_1250.nls. At the moment I’m not sure that it will work, as I will have to support several different languages simultaneously, and the c_1250.nls is only one. Anyway, I’ll look at it later.

    At the moment, ť is not a problem because workaround works, and we don’t have yet other problematic languages. And in case of getting them, our plans are:

    First. Remap the keyboard and fonts, then fix a PDF produced. In my opinion, the simplest solution.

    Second. The only documents produced in FM and English and German documents. For all other languages, we generate PDFs from XML through LaTeX. We are working on this process now.

  3. Lubomir Orszagh Says:

    We have made an universal patcher for all versions, you can find it in here: http://www.orszagh.net/FMUniversalCE.zip.

  4. olpa Says:

    Hello Lubomir, thank you for the link. Would you please provide some description of the patch? Is it the patch that isn’t allowed to use in US, or is it a new development? I can’t read texts on your site because it is in Flash.

  5. Lubomir Orszagh Says:

    Hello olpa, what patch is not allowed in US? I must say I am a little surprised to hear that a patch that solves some problem could be forbidden. This one particularly patches the hardcoded table.

  6. Lubomir Orszagh Says:

    BTW, it is a newly developed patch, since I have not seen any universal one done so far, and it was really a pain to use special patch for every build.

  7. olpa Says:

    > Hello olpa, what patch is not allowed in US?

    I’ve never seen or used it, I only know it existed.

    > I am a little surprised to hear that a patch that solves some problem could be forbidden

    Reason is emotions. afaik, the patch was produced near the time when the US was destroying Yugoslavia. As rumour says, a Pentagon general was interested in the patch to get Macedonian working. He was redirected to UNO.

  8. Stefan Gentz (TRACOM) Says:

    Hello,

    nice to meet you and thanks for the link to the FM Universal CE Patch.
    As you probably know, there are a lot of more problematic code points.

    Here you go with a list of characters that are *not* possible with FrameMaker (as long as you don’t use any patches) as far as I have isolated them from alphabets of several languages:

    CYRILLIC:
    Macedonian, Russian, Ukrainian, Serbian:
    – dje [0452( ђ )]
    – Dzhe [040F ( ? )]
    – Gje [0403 ( Ѓ )]
    – kje [045C ( ќ )]

    CE:
    Romanian:
    – S with comma below [0218 ( Ș ) (not 015E ( Ş ) = S with cedille below!)] and s with comma below [0219 (ș) (not 015F ( ş ) = s with cedille below!)]

    Polish:
    – Z-Akute 0179 ( Ź )

    Slovak, Czech:
    – t-Caron ( ť )

    (If you cannot see the special characters, you might like to type in the Unicode value in MS Word, mark up the value and press ALT+x to switch between the unicode Hex value and the display of the character (works in Word 2003, US, SP1, might be different in other (language, built) versions)).

    You might be interested in knowing that several people including me have contacted Adobe India’s FrameMaker development team several times. We have described the problematic in detail and have pointed out the importance and urgent needs for bug fixed of these codepoints. My impression was that they were “surprised” and have never heard of this problematic before. Personally, I would appreciate if they would at least fix the codepoints, as it’s really not a big deal to do so, as long as they do not provide a full Unicode version.

    Meanwhile I had created my own patches for the critical codepoints for the t-Caron and Z-Acute – I call it a FrameMaker CE version. However, the fixed codepoints collide with cyrillic languages: 0453 (ѓ) turns into 040F (?) and the Euro character (€) turns into 045C (ќ)). I have created a separate FrameMaker CYR patch to fix this.

    Also you probably know about the problems with creating Unicode Bookmarks for CE, baltic and cyrillic languages, Greek and Turkish. There is a 90% workaround with Microtype’s TimeSavers, but there are a couple of limitations and some characters are still wrong (which is not a TimeSavers problem, but due wrong and/or duplicated octal values FrameMaker writes into the PostScript file). I have tested to patch out the part for mapping from FrameRoman to octal values during ps writing. It worked and FrameMaker simply wrote them as they come and with modified mapping tables for the TimeSavers I was able to create 100% correct bookmarks for all languages. However “mixed codepages” are (obviously) not possible. Therefore I discussed with Klaus Müller from http://www.itl.de the idea of a different approach. The result is the ITL PDF-Controller. With the ITL-PDF-Controller (which is not a patch but a FrameScript / PostScript based solution and without any legal problems!) you can create full Unicode-Bookmarks for all code pages incl. CJK. Also it is possible to create mixed codepage bookmarks within one document.

    One last word regarding the “offical use” of your (and my) patches: Personally I have withdrawn my patches from public release. Why?

    Lubomir:
    “I must say I am a little surprised to hear that a patch that solves some problem could be forbidden. This one particularly patches the hardcoded table.”

    I’m quite surprised to hear you are surprised. Hey, you are patching the FrameMaker.exe. This means you directly change the code and functionality of the application. And this obviously means that you directly violate Adobe’s rights and the licence agreement. Any reverse engineering, or changes to the code, translation of the software, manuals or any other material provided out of the box etc. are completely forbidden. It doesn’t matter if it makes the software more useful for you. CE languages are officially not supported by Adobe FrameMaker. That’s it. If you patch the exe to get it running for you language – nice for you. But it’s a direct violation of Adobe’s right in the software. It doesn’t make a difference, if you you patch out e.g. the evaluation version restrictions to make it running or if you patch code points to show the t’-Caron. And big software corporations tend to be very restrictive with violations of their rights – especially when people like us create solutions for problems they do not even understand.
    However, off the record, I completely understand that you have develloped this patch and I’m pretty sure that you have spend quite some time in research, digging through the code and tables. I burnt the midnight oil for several weeks in analysing the exe and it was a pain in the neck. Personally I think it’s a shame that people like you and me, serious business men without malicious prepense, have to deal with this at all. I’m really disappointed about Adobe ignoring the problematic and people’s desperate needs for solutions in terms of multilingual publishing. And FrameMaker 7.2 will not give us any solution for these problems. I hope that one day some really talented coder will be able to “replace” the mapping table “on the fly” with fixed mappings with a separate dll that works as an FDK plugin. This would avoid legal problems and would be the smartest solution for a very unsmart problem.

    Best Regards,
    Stefan Gentz

    Besides, to close it for today, some last fragments, that I found in the FrameMaker.exe. They seem to populate the exe since many version (5.5 was the oldest one I checked):


    No. Hope you like it.
    Well? I’m just trying to solve problems.
    Whatever. I claim… On Mac, we… Just do it this way.
    Absolutely. Fine.
    In fact, … Actually… All I want is…
    The point is being that…
    The point is…
    Basically…
    Evacuate? In our moment of triumph? I think you overestimate
    their chances. *

    I have an idea: We’ll simply implode!
    Thanks you sir. May I have another?

    Honi soit que mal y pense? **

    __________
    * Last words from Governor Tarkin, Star Wars
    ** “Shame on him who thinks evil of it” (The Order of the Garter / Hosenband-Orden )

  9. olpa Says:

    Stefan, thank you very much! I’m greately impressed by your post.

  10. olpa, OSS developer » Blog Archive » problematic code points in FrameMaker Says:

    […] verysel compatible? problematic code points in FrameMaker Superior comment from Stefan Gentz (TRACOM). Here you go with a list of c […]

  11. Lubomir Orszagh Says:

    Dear Stefan,

    I must agree with you now, the patch was removed from the site and will not be available to the public any more. Thanks for pointing this out.

    Cheers,
    Lubo

  12. Lubomir Orszagh Says:

    Anyway, I would like to point out that this patch would work for any file (not just Framemaker.exe), so it can be hardly defined as a patch for a specific product that breaks any laws. It is simply a tool that does some search and replace on any source file you run it on, so you would have to ban all S&R tools on the market :) So I am not sure in this case… However, to be on the safe side, I will not put it back on the site.

  13. 123Klaus Müller Says:

    Character code point additions for Cyrillic, CE, and Baltic (FrameMaker 7.2).

    In Adobe FrameMaker 7.2p158 (Windows) and FrameMaker 7.2p156 (Unix), support for several characters on the Cyrillic, Central European and Baltic Codepages for Windows was added.

    http://www.adobe.com/support/techdocs/332864.html

  14. 123agaetis Says:

    Hi,
    Is there any possibility to instal latest patch to FM 7.2 using Tril version?
    I have problem with t-caron and can not simply instal patch supporting this charakter. Thanks in advance.
    Agaetis

  15. 123Wolfram Hüttermann Says:

    Hello,

    for LATEX-user the t’ is easily reachable. You type \v t, that’s it.

    Greetings

    Wolfram

Leave a Reply