How the Euro symbol can be used with Wordworth 7.01 --------------------------------------------------- First we must choose a different symbol set than the standard ISO 8859-1 Latin1 normally used on Amiga, since this does not contain the Euro. Widely used are Windows codepage 1252 which is an extension of ISO 8859-1 Latin1 with additional characters between 0x80 and 0x9F and ISO 8859-15 Latin9. I decided to use Latin9 since it is an official standard and does not contain characters at positions that may be interpreted as control characters. The differences are: ISO 8859-1 Latin1 ISO 8859-15 Latin9 ---------------------------------------------------------------------------------- 0xA4 CURRENCY SIGN ¤ 0x20AC EURO SIGN 0xA6 BROKEN BAR ¦ 0x0160 LATIN CAPITAL LETTER S WITH CARON 0xA8 DIAERESIS ¨ 0x0161 LATIN SMALL LETTER S WITH CARON 0xB4 ACUTE ACCENT ´ 0x017D LATIN CAPITAL LETTER Z WITH CARON 0xB8 CEDILLA ¸ 0x017E LATIN SMALL LETTER Z WITH CARON 0xBC VULGAR FRACTION ONE QUARTER ¼ 0x0152 LATIN CAPITAL LIGATURE OE 0xBD VULGAR FRACTION ONE HALF ½ 0x0153 LATIN SMALL LIGATURE OE 0xBE VULGAR FRACTION THREE QUARTERS ¾ 0x0178 LATIN CAPITAL LETTER Y WITH DIAERESIS Then we must solve the following problems: - When using bitmap fonts, just find and use Amiga bitmap fonts for Latin9. I heard of FlodisEuro.lha in Aminet text/font/ but didn't test it. - When printing with the builtin printer fonts, make sure you have a printer with builtin Euro that can be set to Latin9 by dip switches or per software (in this case you may need the right printer driver). Couldn't test it, my printer has NO builtin fonts... - When printing with a PostScript printer you have a problem... If the printer supports the Euro symbol and you can print to a file you can try to change the file before sending it to the printer. This is the table of PostScript character names that differ: Latin1 Latin9 -------------------- currency Euro brokenbar Scaron dieresis scaron acute Zcaron cedilla zcaron onequarter OE onehalf oe threequarters Ydieresis Didn't test that (no PostScript printer), really solving that will IMHO need a patch for the WwProg main program. - When printing in graphics mode, the problem is reduced to displaying Latin9 since the printer only has to print an enlarged copy of what you already see. We need two things, a scalable font that includes the glyphs for Latin9 and an Amiga font engine that can translate Latin9 to the font encoding. Wordworth comes with three font engines, digitaintellifont.library for CompuGraphic/Intelliont fonts, digitapostscript.library for PostScript Type1 fonts and digitatruetype.library for TrueType fonts (these are all just frontends for digitafont.library). - With CompuGraphic fonts you have no chance IMHO, the format description seems not to be available to the public, an Internet search didn't find any font with Euro and the format seems to be outdated. If you really have a CG Euro font, you must patch UFST/uif.ss in the Wordworth font directory. This is a binary file containing the SymbolSets for Intellifont fonts: E1, M8, PC, R8, W1, D1, D2, D3. Don't ask me for the Intellifont codepoints used in UFST/uif.ss, but if you have a pointer to "Intellifont symbol sets", let me know :) Using bullet.library instead of digitaintellifont.library won't help since current bullet.library only supports Latin1. - With PostScript Type1 fonts chances are better. There exist PS fonts with Euro, e.g. the fonts from GhostScript (be careful not to use old versions). Unfortunately I didn't find a simple (patchable) glyph code mapping table in digitafont.library, but with a different font engine it works. Tested with type1.library (Aminet util/libs/Type1Engine.lha), see below how to use non-digita font engines with Wordworth. - With TrueType fonts chances are best. Many TT fonts with Euro are available, and you can use them with either digitatruetype.library or ttf.library (Aminet util/libs/ttflib.lha). If you want to use digitatruetype.library, the file UFST/utt.ss must be patched. This is a binary file containing the SymbolSets for Truetype fonts: E1, PC, R8, W1, SY, WD. The entrys in the .ss SymbolSet files are 16Bit (Unicode codepoints), e.g. 0x5E ("^", circumflex accent) is already replaced by 0x02C6 (modifier letter circumflex accent). I have created a patch file utt.pch (included) for use with spatch (included) so you can transform the Latin1 version to Latin9: spatch WWFonts/UFST/utt.ss Rename WWFonts/UFST/utt.ss WWFonts/UFST/utt.ss.ISO1 Rename WWFonts/UFST/utt.ss.new WWFonts/UFST/utt.ss.ISO15 Copy WWFonts/UFST/utt.ss.ISO15 WWFonts/UFST/utt.ss If you want to use ttf.library, read on. How to use a different font engine with WordWorth 7.01 ------------------------------------------------------ It is WWTools/InstallOutlines that normally restricts the usable font engines to those that come with WordWorth, but it can be worked around. WWTools/InstallOutlines scans the path in ENV:WordWorth/WwFonts for the subdirectories Intellifont, Postscript and Truetype. In the subdirs it scans the fonts and creates .font and .otag files in the UFST subdir. The .otag files contain the name of the font engine, either digitaintellifont, digitapostscript or digitatruetype. If you replace the .font and .otag file for a font in UFST with versions created by TTFManager for ttf.library, by T1Manager for type1.library by Intellifont for bullet.library etc. WordWorth will use e.g. ttf.library instead of digitatruetype.library for this font :) Instead of replacing, you can also add fonts by copying the .font and .otag files to the UFST directory and adding an entry to UFST/FontList (this is the output file of InstallOutlines), e.g. ArialUnicode,ArialUnicodeMS.font,2 Format of UFST/FontList: One line per font, each line contains the name of the font in WordWorth, the filename of the .font file, and a number indicating the type of the font: 0 for Intellifont, 1 for Postscript, 2 for TrueType. All entrys separated by commas. Unfortunately WordWorth uses a version number of 2 for the OpenLibrary() call when opening the font engine (thats the version of its own engines), so this will not work with font engines with version 1 or below... With bullet.library this trick only works if you create a _bullet_outlines subdirectory in the WordWorth fonts path and copy the .type file into it since it doesn't store the path to the font data file in the .otag file. Oh, and dont forget to select ISO 8859-15 Latin9 as codepage in TTFManager or T1Manager before creating the .otag files for the UFST directory if you want to use the Euro symbol. In http://www.unicode.org/Public/MAPPINGS/ you can find the mapping table for ISO 8859-15 needed for TTFManager. You can load this file into WordWorth later to see if you were successfull, just look at the first table and change it's font. Then hopefully all that is left is to find out what to type in for the new glyphs to appear (Hint for users of german keyboard: Alt-z is the Euro when using the OS3.9 "de" keymap :) Ciao, Detlef -- _ // TetiSoft@apg.lahn.de \X/ Detlef Würkner, Langgöns/Germany