Home » Recent acquisitions » Acorn ADFS disks » adfs_AcornUser_199604.adf » Features » Float/!Float/HackerInfo
Float/!Float/HackerInfo
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Recent acquisitions » Acorn ADFS disks » adfs_AcornUser_199604.adf » Features |
Filename: | Float/!Float/HackerInfo |
Read OK: | ✔ |
File size: | 11DC bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
It would have been nice to have given the new encoding file a new name, like LatinFloat or something. Unfortunately this is not straightforward at all - most, if not all, software assumes that you want the Latin1 encoding. *Country only affects the System font and keyboard, not the encoding of the outline fonts. *Alphabet is the same except that the keyboard is not affected. Of the countries available under RISC OS 3, only Esperanto, Russian and Greek should use a different encoding. The Acorn outline fonts don't have the characters for Russian or Greek, so it's not surprising that there is no attempt to change encoding for them. The System font changes to Russian, Greek or Esperanto beautifully though. This may be down to the Territory manager; I don't know. I'm not aware of territory managers having been written for any country that would use a different encoding - yet the Latin2, Latin3 and Latin4 encodings are there in the ROM. Search as I might in the PRMs, I've found no way to select a different public encoding. It appears that you could write a new application that could render fonts using other encodings, but short of intercepting the calls to render fonts and re-issuing them with a different choice of encoding, there doesn't seem to be any way of getting existing applications to render using anything but Latin1. Even the interception technique might not give you access to encodings with names new to the system. So what I've done is call my new encoding Latin1. Horrible. You then have to persuade the Font Manager to use the alternative encoding, without eliminating the ROM font directory from Font$Path (because you still want the ROM fonts themselves, even though you don't want the ROM encodings). Having done that, you still have to get rid of the copy of the encoding in the font cache - again, there doesn't seem to be any general way to do that without dumping the whole cache. Font_UnCacheFile, which looks as though it could be the appropriate SWI, appears to be unable to get at the encoding files. In FontManager 3.29 and 3.33, merely minimizing the cache suffices, which is easily done without upsetting other applications; but in earlier versions, it has to be flushed completely. You then have to force all applications to re-apply for their font handles, which a no-change mode change seems to do, otherwise any application using fonts is liable to generate errors trying to access fonts using handles that the FontManager has lost. You can't get them back with the previous mapping, which is arbitrary, except by saving and reloading the font cache, which would reinstate the cached encoding anyway. The font flushing technique is a bit ham-fisted, but no wholly legal technique achieves the necessary result, as far as I can work out. This method works with at least versions 3.07, 3.28, 3.29 and 3.33 of the Font Manager - if anyone comes across versions of the FM it doesn't work with, I'd be grateful if you'd let me know (or for that matter, other versions it _does_ work with). XenoPhilia Fonts aren't language fonts (sic) - they don't use encodings at all: their filenames are Outlines and Intmetrics rather than Outlines0 and Intmetric0, and they only have characters &20 - &FF. This means they don't need you to flush the font cache, and the XenoPhilia version of !Float only has to change the keyboard and System font and provide the positioning function. Much tidier. It also means I can provide the Lappish eng and Dutch ij ligature. If any other producer of fonts wants to take advantage of !Float I'd be happy to provide suitable versions for a modest fee. Contact me. All versions can be merged without problems for users of fonts from multiple sources. Third party fonts could be either: ISO/IEC 6937 only fonts (like XenoPhilia fonts), or normal 'language' fonts for dual use, but requiring the slightly less application-friendly version of !Float as supplied here. The latter would obviate any editing for existing 'language' fonts, assuming all the necessary characters existed in the correct locations, but would prevent the provision of the additional characters. Relatively small edits would allow the compromise positioning of floating accents in Draw - merely adjusting the widths of the accents to zero. Ideally, their positions should be adjusted to optimum compromises over the letters to which they are most often attached; but this would necessitate editing all their occurences as character inclusions! Copyright Clive K Semmens 1996 csemmens@physoc.org or c/o Acorn User
00000000 0a 49 74 20 77 6f 75 6c 64 20 68 61 76 65 20 62 |.It would have b| 00000010 65 65 6e 20 6e 69 63 65 20 74 6f 20 68 61 76 65 |een nice to have| 00000020 20 67 69 76 65 6e 20 74 68 65 20 6e 65 77 20 65 | given the new e| 00000030 6e 63 6f 64 69 6e 67 20 66 69 6c 65 20 61 20 6e |ncoding file a n| 00000040 65 77 20 6e 61 6d 65 2c 0a 6c 69 6b 65 20 4c 61 |ew name,.like La| 00000050 74 69 6e 46 6c 6f 61 74 20 6f 72 20 73 6f 6d 65 |tinFloat or some| 00000060 74 68 69 6e 67 2e 20 55 6e 66 6f 72 74 75 6e 61 |thing. Unfortuna| 00000070 74 65 6c 79 20 74 68 69 73 20 69 73 20 6e 6f 74 |tely this is not| 00000080 20 73 74 72 61 69 67 68 74 66 6f 72 77 61 72 64 | straightforward| 00000090 0a 61 74 20 61 6c 6c 20 2d 20 6d 6f 73 74 2c 20 |.at all - most, | 000000a0 69 66 20 6e 6f 74 20 61 6c 6c 2c 20 73 6f 66 74 |if not all, soft| 000000b0 77 61 72 65 20 61 73 73 75 6d 65 73 20 74 68 61 |ware assumes tha| 000000c0 74 20 79 6f 75 20 77 61 6e 74 20 74 68 65 20 4c |t you want the L| 000000d0 61 74 69 6e 31 0a 65 6e 63 6f 64 69 6e 67 2e 20 |atin1.encoding. | 000000e0 2a 43 6f 75 6e 74 72 79 20 6f 6e 6c 79 20 61 66 |*Country only af| 000000f0 66 65 63 74 73 20 74 68 65 20 53 79 73 74 65 6d |fects the System| 00000100 20 66 6f 6e 74 20 61 6e 64 20 6b 65 79 62 6f 61 | font and keyboa| 00000110 72 64 2c 20 6e 6f 74 20 74 68 65 0a 65 6e 63 6f |rd, not the.enco| 00000120 64 69 6e 67 20 6f 66 20 74 68 65 20 6f 75 74 6c |ding of the outl| 00000130 69 6e 65 20 66 6f 6e 74 73 2e 20 2a 41 6c 70 68 |ine fonts. *Alph| 00000140 61 62 65 74 20 69 73 20 74 68 65 20 73 61 6d 65 |abet is the same| 00000150 20 65 78 63 65 70 74 20 74 68 61 74 20 74 68 65 | except that the| 00000160 0a 6b 65 79 62 6f 61 72 64 20 69 73 20 6e 6f 74 |.keyboard is not| 00000170 20 61 66 66 65 63 74 65 64 2e 0a 0a 4f 66 20 74 | affected...Of t| 00000180 68 65 20 63 6f 75 6e 74 72 69 65 73 20 61 76 61 |he countries ava| 00000190 69 6c 61 62 6c 65 20 75 6e 64 65 72 20 52 49 53 |ilable under RIS| 000001a0 43 20 4f 53 20 33 2c 20 6f 6e 6c 79 20 45 73 70 |C OS 3, only Esp| 000001b0 65 72 61 6e 74 6f 2c 20 52 75 73 73 69 61 6e 20 |eranto, Russian | 000001c0 61 6e 64 0a 47 72 65 65 6b 20 73 68 6f 75 6c 64 |and.Greek should| 000001d0 20 75 73 65 20 61 20 64 69 66 66 65 72 65 6e 74 | use a different| 000001e0 20 65 6e 63 6f 64 69 6e 67 2e 20 54 68 65 20 41 | encoding. The A| 000001f0 63 6f 72 6e 20 6f 75 74 6c 69 6e 65 20 66 6f 6e |corn outline fon| 00000200 74 73 20 64 6f 6e 27 74 0a 68 61 76 65 20 74 68 |ts don't.have th| 00000210 65 20 63 68 61 72 61 63 74 65 72 73 20 66 6f 72 |e characters for| 00000220 20 52 75 73 73 69 61 6e 20 6f 72 20 47 72 65 65 | Russian or Gree| 00000230 6b 2c 20 73 6f 20 69 74 27 73 20 6e 6f 74 20 73 |k, so it's not s| 00000240 75 72 70 72 69 73 69 6e 67 20 74 68 61 74 0a 74 |urprising that.t| 00000250 68 65 72 65 20 69 73 20 6e 6f 20 61 74 74 65 6d |here is no attem| 00000260 70 74 20 74 6f 20 63 68 61 6e 67 65 20 65 6e 63 |pt to change enc| 00000270 6f 64 69 6e 67 20 66 6f 72 20 74 68 65 6d 2e 20 |oding for them. | 00000280 54 68 65 20 53 79 73 74 65 6d 20 66 6f 6e 74 20 |The System font | 00000290 63 68 61 6e 67 65 73 0a 74 6f 20 52 75 73 73 69 |changes.to Russi| 000002a0 61 6e 2c 20 47 72 65 65 6b 20 6f 72 20 45 73 70 |an, Greek or Esp| 000002b0 65 72 61 6e 74 6f 20 62 65 61 75 74 69 66 75 6c |eranto beautiful| 000002c0 6c 79 20 74 68 6f 75 67 68 2e 0a 0a 54 68 69 73 |ly though...This| 000002d0 20 6d 61 79 20 62 65 20 64 6f 77 6e 20 74 6f 20 | may be down to | 000002e0 74 68 65 20 54 65 72 72 69 74 6f 72 79 20 6d 61 |the Territory ma| 000002f0 6e 61 67 65 72 3b 20 49 20 64 6f 6e 27 74 20 6b |nager; I don't k| 00000300 6e 6f 77 2e 20 49 27 6d 20 6e 6f 74 20 61 77 61 |now. I'm not awa| 00000310 72 65 0a 6f 66 20 74 65 72 72 69 74 6f 72 79 20 |re.of territory | 00000320 6d 61 6e 61 67 65 72 73 20 68 61 76 69 6e 67 20 |managers having | 00000330 62 65 65 6e 20 77 72 69 74 74 65 6e 20 66 6f 72 |been written for| 00000340 20 61 6e 79 20 63 6f 75 6e 74 72 79 20 74 68 61 | any country tha| 00000350 74 20 77 6f 75 6c 64 20 75 73 65 0a 61 20 64 69 |t would use.a di| 00000360 66 66 65 72 65 6e 74 20 65 6e 63 6f 64 69 6e 67 |fferent encoding| 00000370 20 2d 20 79 65 74 20 74 68 65 20 4c 61 74 69 6e | - yet the Latin| 00000380 32 2c 20 4c 61 74 69 6e 33 20 61 6e 64 20 4c 61 |2, Latin3 and La| 00000390 74 69 6e 34 20 65 6e 63 6f 64 69 6e 67 73 20 61 |tin4 encodings a| 000003a0 72 65 0a 74 68 65 72 65 20 69 6e 20 74 68 65 20 |re.there in the | 000003b0 52 4f 4d 2e 0a 0a 53 65 61 72 63 68 20 61 73 20 |ROM...Search as | 000003c0 49 20 6d 69 67 68 74 20 69 6e 20 74 68 65 20 50 |I might in the P| 000003d0 52 4d 73 2c 20 49 27 76 65 20 66 6f 75 6e 64 20 |RMs, I've found | 000003e0 6e 6f 20 77 61 79 20 74 6f 20 73 65 6c 65 63 74 |no way to select| 000003f0 20 61 20 64 69 66 66 65 72 65 6e 74 0a 70 75 62 | a different.pub| 00000400 6c 69 63 20 65 6e 63 6f 64 69 6e 67 2e 20 49 74 |lic encoding. It| 00000410 20 61 70 70 65 61 72 73 20 74 68 61 74 20 79 6f | appears that yo| 00000420 75 20 63 6f 75 6c 64 20 77 72 69 74 65 20 61 20 |u could write a | 00000430 6e 65 77 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 |new application | 00000440 74 68 61 74 0a 63 6f 75 6c 64 20 72 65 6e 64 65 |that.could rende| 00000450 72 20 66 6f 6e 74 73 20 75 73 69 6e 67 20 6f 74 |r fonts using ot| 00000460 68 65 72 20 65 6e 63 6f 64 69 6e 67 73 2c 20 62 |her encodings, b| 00000470 75 74 20 73 68 6f 72 74 20 6f 66 20 69 6e 74 65 |ut short of inte| 00000480 72 63 65 70 74 69 6e 67 20 74 68 65 0a 63 61 6c |rcepting the.cal| 00000490 6c 73 20 74 6f 20 72 65 6e 64 65 72 20 66 6f 6e |ls to render fon| 000004a0 74 73 20 61 6e 64 20 72 65 2d 69 73 73 75 69 6e |ts and re-issuin| 000004b0 67 20 74 68 65 6d 20 77 69 74 68 20 61 20 64 69 |g them with a di| 000004c0 66 66 65 72 65 6e 74 20 63 68 6f 69 63 65 20 6f |fferent choice o| 000004d0 66 0a 65 6e 63 6f 64 69 6e 67 2c 20 74 68 65 72 |f.encoding, ther| 000004e0 65 20 64 6f 65 73 6e 27 74 20 73 65 65 6d 20 74 |e doesn't seem t| 000004f0 6f 20 62 65 20 61 6e 79 20 77 61 79 20 6f 66 20 |o be any way of | 00000500 67 65 74 74 69 6e 67 20 65 78 69 73 74 69 6e 67 |getting existing| 00000510 0a 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 74 6f |.applications to| 00000520 20 72 65 6e 64 65 72 20 75 73 69 6e 67 20 61 6e | render using an| 00000530 79 74 68 69 6e 67 20 62 75 74 20 4c 61 74 69 6e |ything but Latin| 00000540 31 2e 20 45 76 65 6e 20 74 68 65 20 69 6e 74 65 |1. Even the inte| 00000550 72 63 65 70 74 69 6f 6e 0a 74 65 63 68 6e 69 71 |rception.techniq| 00000560 75 65 20 6d 69 67 68 74 20 6e 6f 74 20 67 69 76 |ue might not giv| 00000570 65 20 79 6f 75 20 61 63 63 65 73 73 20 74 6f 20 |e you access to | 00000580 65 6e 63 6f 64 69 6e 67 73 20 77 69 74 68 20 6e |encodings with n| 00000590 61 6d 65 73 20 6e 65 77 20 74 6f 20 74 68 65 0a |ames new to the.| 000005a0 73 79 73 74 65 6d 2e 0a 0a 53 6f 20 77 68 61 74 |system...So what| 000005b0 20 49 27 76 65 20 64 6f 6e 65 20 69 73 20 63 61 | I've done is ca| 000005c0 6c 6c 20 6d 79 20 6e 65 77 20 65 6e 63 6f 64 69 |ll my new encodi| 000005d0 6e 67 20 4c 61 74 69 6e 31 2e 20 48 6f 72 72 69 |ng Latin1. Horri| 000005e0 62 6c 65 2e 20 59 6f 75 20 74 68 65 6e 0a 68 61 |ble. You then.ha| 000005f0 76 65 20 74 6f 20 70 65 72 73 75 61 64 65 20 74 |ve to persuade t| 00000600 68 65 20 46 6f 6e 74 20 4d 61 6e 61 67 65 72 20 |he Font Manager | 00000610 74 6f 20 75 73 65 20 74 68 65 20 61 6c 74 65 72 |to use the alter| 00000620 6e 61 74 69 76 65 20 65 6e 63 6f 64 69 6e 67 2c |native encoding,| 00000630 0a 77 69 74 68 6f 75 74 20 65 6c 69 6d 69 6e 61 |.without elimina| 00000640 74 69 6e 67 20 74 68 65 20 52 4f 4d 20 66 6f 6e |ting the ROM fon| 00000650 74 20 64 69 72 65 63 74 6f 72 79 20 66 72 6f 6d |t directory from| 00000660 20 46 6f 6e 74 24 50 61 74 68 20 28 62 65 63 61 | Font$Path (beca| 00000670 75 73 65 20 79 6f 75 0a 73 74 69 6c 6c 20 77 61 |use you.still wa| 00000680 6e 74 20 74 68 65 20 52 4f 4d 20 66 6f 6e 74 73 |nt the ROM fonts| 00000690 20 74 68 65 6d 73 65 6c 76 65 73 2c 20 65 76 65 | themselves, eve| 000006a0 6e 20 74 68 6f 75 67 68 20 79 6f 75 20 64 6f 6e |n though you don| 000006b0 27 74 20 77 61 6e 74 20 74 68 65 20 52 4f 4d 0a |'t want the ROM.| 000006c0 65 6e 63 6f 64 69 6e 67 73 29 2e 20 48 61 76 69 |encodings). Havi| 000006d0 6e 67 20 64 6f 6e 65 20 74 68 61 74 2c 20 79 6f |ng done that, yo| 000006e0 75 20 73 74 69 6c 6c 20 68 61 76 65 20 74 6f 20 |u still have to | 000006f0 67 65 74 20 72 69 64 20 6f 66 20 74 68 65 20 63 |get rid of the c| 00000700 6f 70 79 20 6f 66 0a 74 68 65 20 65 6e 63 6f 64 |opy of.the encod| 00000710 69 6e 67 20 69 6e 20 74 68 65 20 66 6f 6e 74 20 |ing in the font | 00000720 63 61 63 68 65 20 2d 20 61 67 61 69 6e 2c 20 74 |cache - again, t| 00000730 68 65 72 65 20 64 6f 65 73 6e 27 74 20 73 65 65 |here doesn't see| 00000740 6d 20 74 6f 20 62 65 20 61 6e 79 0a 67 65 6e 65 |m to be any.gene| 00000750 72 61 6c 20 77 61 79 20 74 6f 20 64 6f 20 74 68 |ral way to do th| 00000760 61 74 20 77 69 74 68 6f 75 74 20 64 75 6d 70 69 |at without dumpi| 00000770 6e 67 20 74 68 65 20 77 68 6f 6c 65 20 63 61 63 |ng the whole cac| 00000780 68 65 2e 0a 46 6f 6e 74 5f 55 6e 43 61 63 68 65 |he..Font_UnCache| 00000790 46 69 6c 65 2c 20 77 68 69 63 68 20 6c 6f 6f 6b |File, which look| 000007a0 73 20 61 73 20 74 68 6f 75 67 68 20 69 74 20 63 |s as though it c| 000007b0 6f 75 6c 64 20 62 65 20 74 68 65 20 61 70 70 72 |ould be the appr| 000007c0 6f 70 72 69 61 74 65 20 53 57 49 2c 0a 61 70 70 |opriate SWI,.app| 000007d0 65 61 72 73 20 74 6f 20 62 65 20 75 6e 61 62 6c |ears to be unabl| 000007e0 65 20 74 6f 20 67 65 74 20 61 74 20 74 68 65 20 |e to get at the | 000007f0 65 6e 63 6f 64 69 6e 67 20 66 69 6c 65 73 2e 20 |encoding files. | 00000800 49 6e 20 46 6f 6e 74 4d 61 6e 61 67 65 72 20 33 |In FontManager 3| 00000810 2e 32 39 0a 61 6e 64 20 33 2e 33 33 2c 20 6d 65 |.29.and 3.33, me| 00000820 72 65 6c 79 20 6d 69 6e 69 6d 69 7a 69 6e 67 20 |rely minimizing | 00000830 74 68 65 20 63 61 63 68 65 20 73 75 66 66 69 63 |the cache suffic| 00000840 65 73 2c 20 77 68 69 63 68 20 69 73 20 65 61 73 |es, which is eas| 00000850 69 6c 79 20 64 6f 6e 65 0a 77 69 74 68 6f 75 74 |ily done.without| 00000860 20 75 70 73 65 74 74 69 6e 67 20 6f 74 68 65 72 | upsetting other| 00000870 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 3b 20 62 | applications; b| 00000880 75 74 20 69 6e 20 65 61 72 6c 69 65 72 20 76 65 |ut in earlier ve| 00000890 72 73 69 6f 6e 73 2c 20 69 74 20 68 61 73 20 74 |rsions, it has t| 000008a0 6f 0a 62 65 20 66 6c 75 73 68 65 64 20 63 6f 6d |o.be flushed com| 000008b0 70 6c 65 74 65 6c 79 2e 20 59 6f 75 20 74 68 65 |pletely. You the| 000008c0 6e 20 68 61 76 65 20 74 6f 20 66 6f 72 63 65 20 |n have to force | 000008d0 61 6c 6c 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 |all applications| 000008e0 20 74 6f 0a 72 65 2d 61 70 70 6c 79 20 66 6f 72 | to.re-apply for| 000008f0 20 74 68 65 69 72 20 66 6f 6e 74 20 68 61 6e 64 | their font hand| 00000900 6c 65 73 2c 20 77 68 69 63 68 20 61 20 6e 6f 2d |les, which a no-| 00000910 63 68 61 6e 67 65 20 6d 6f 64 65 20 63 68 61 6e |change mode chan| 00000920 67 65 20 73 65 65 6d 73 20 74 6f 0a 64 6f 2c 20 |ge seems to.do, | 00000930 6f 74 68 65 72 77 69 73 65 20 61 6e 79 20 61 70 |otherwise any ap| 00000940 70 6c 69 63 61 74 69 6f 6e 20 75 73 69 6e 67 20 |plication using | 00000950 66 6f 6e 74 73 20 69 73 20 6c 69 61 62 6c 65 20 |fonts is liable | 00000960 74 6f 20 67 65 6e 65 72 61 74 65 20 65 72 72 6f |to generate erro| 00000970 72 73 0a 74 72 79 69 6e 67 20 74 6f 20 61 63 63 |rs.trying to acc| 00000980 65 73 73 20 66 6f 6e 74 73 20 75 73 69 6e 67 20 |ess fonts using | 00000990 68 61 6e 64 6c 65 73 20 74 68 61 74 20 74 68 65 |handles that the| 000009a0 20 46 6f 6e 74 4d 61 6e 61 67 65 72 20 68 61 73 | FontManager has| 000009b0 20 6c 6f 73 74 2e 20 59 6f 75 0a 63 61 6e 27 74 | lost. You.can't| 000009c0 20 67 65 74 20 74 68 65 6d 20 62 61 63 6b 20 77 | get them back w| 000009d0 69 74 68 20 74 68 65 20 70 72 65 76 69 6f 75 73 |ith the previous| 000009e0 20 6d 61 70 70 69 6e 67 2c 20 77 68 69 63 68 20 | mapping, which | 000009f0 69 73 20 61 72 62 69 74 72 61 72 79 2c 0a 65 78 |is arbitrary,.ex| 00000a00 63 65 70 74 20 62 79 20 73 61 76 69 6e 67 20 61 |cept by saving a| 00000a10 6e 64 20 72 65 6c 6f 61 64 69 6e 67 20 74 68 65 |nd reloading the| 00000a20 20 66 6f 6e 74 20 63 61 63 68 65 2c 20 77 68 69 | font cache, whi| 00000a30 63 68 20 77 6f 75 6c 64 20 72 65 69 6e 73 74 61 |ch would reinsta| 00000a40 74 65 20 74 68 65 0a 63 61 63 68 65 64 20 65 6e |te the.cached en| 00000a50 63 6f 64 69 6e 67 20 61 6e 79 77 61 79 2e 0a 0a |coding anyway...| 00000a60 54 68 65 20 66 6f 6e 74 20 66 6c 75 73 68 69 6e |The font flushin| 00000a70 67 20 74 65 63 68 6e 69 71 75 65 20 69 73 20 61 |g technique is a| 00000a80 20 62 69 74 20 68 61 6d 2d 66 69 73 74 65 64 2c | bit ham-fisted,| 00000a90 20 62 75 74 20 6e 6f 20 77 68 6f 6c 6c 79 20 6c | but no wholly l| 00000aa0 65 67 61 6c 0a 74 65 63 68 6e 69 71 75 65 20 61 |egal.technique a| 00000ab0 63 68 69 65 76 65 73 20 74 68 65 20 6e 65 63 65 |chieves the nece| 00000ac0 73 73 61 72 79 20 72 65 73 75 6c 74 2c 20 61 73 |ssary result, as| 00000ad0 20 66 61 72 20 61 73 20 49 20 63 61 6e 20 77 6f | far as I can wo| 00000ae0 72 6b 20 6f 75 74 2e 20 54 68 69 73 0a 6d 65 74 |rk out. This.met| 00000af0 68 6f 64 20 77 6f 72 6b 73 20 77 69 74 68 20 61 |hod works with a| 00000b00 74 20 6c 65 61 73 74 20 76 65 72 73 69 6f 6e 73 |t least versions| 00000b10 20 33 2e 30 37 2c 20 33 2e 32 38 2c 20 33 2e 32 | 3.07, 3.28, 3.2| 00000b20 39 20 61 6e 64 20 33 2e 33 33 20 6f 66 20 74 68 |9 and 3.33 of th| 00000b30 65 0a 46 6f 6e 74 20 4d 61 6e 61 67 65 72 20 2d |e.Font Manager -| 00000b40 20 69 66 20 61 6e 79 6f 6e 65 20 63 6f 6d 65 73 | if anyone comes| 00000b50 20 61 63 72 6f 73 73 20 76 65 72 73 69 6f 6e 73 | across versions| 00000b60 20 6f 66 20 74 68 65 20 46 4d 20 69 74 20 64 6f | of the FM it do| 00000b70 65 73 6e 27 74 20 77 6f 72 6b 0a 77 69 74 68 2c |esn't work.with,| 00000b80 20 49 27 64 20 62 65 20 67 72 61 74 65 66 75 6c | I'd be grateful| 00000b90 20 69 66 20 79 6f 75 27 64 20 6c 65 74 20 6d 65 | if you'd let me| 00000ba0 20 6b 6e 6f 77 20 28 6f 72 20 66 6f 72 20 74 68 | know (or for th| 00000bb0 61 74 20 6d 61 74 74 65 72 2c 20 6f 74 68 65 72 |at matter, other| 00000bc0 0a 76 65 72 73 69 6f 6e 73 20 69 74 20 5f 64 6f |.versions it _do| 00000bd0 65 73 5f 20 77 6f 72 6b 20 77 69 74 68 29 2e 0a |es_ work with)..| 00000be0 0a 58 65 6e 6f 50 68 69 6c 69 61 20 46 6f 6e 74 |.XenoPhilia Font| 00000bf0 73 20 61 72 65 6e 27 74 20 6c 61 6e 67 75 61 67 |s aren't languag| 00000c00 65 20 66 6f 6e 74 73 20 28 73 69 63 29 20 2d 20 |e fonts (sic) - | 00000c10 74 68 65 79 20 64 6f 6e 27 74 20 75 73 65 20 65 |they don't use e| 00000c20 6e 63 6f 64 69 6e 67 73 0a 61 74 20 61 6c 6c 3a |ncodings.at all:| 00000c30 20 74 68 65 69 72 20 66 69 6c 65 6e 61 6d 65 73 | their filenames| 00000c40 20 61 72 65 20 4f 75 74 6c 69 6e 65 73 20 61 6e | are Outlines an| 00000c50 64 20 49 6e 74 6d 65 74 72 69 63 73 20 72 61 74 |d Intmetrics rat| 00000c60 68 65 72 20 74 68 61 6e 0a 4f 75 74 6c 69 6e 65 |her than.Outline| 00000c70 73 30 20 61 6e 64 20 49 6e 74 6d 65 74 72 69 63 |s0 and Intmetric| 00000c80 30 2c 20 61 6e 64 20 74 68 65 79 20 6f 6e 6c 79 |0, and they only| 00000c90 20 68 61 76 65 20 63 68 61 72 61 63 74 65 72 73 | have characters| 00000ca0 20 26 32 30 20 2d 20 26 46 46 2e 20 54 68 69 73 | &20 - &FF. This| 00000cb0 0a 6d 65 61 6e 73 20 74 68 65 79 20 64 6f 6e 27 |.means they don'| 00000cc0 74 20 6e 65 65 64 20 79 6f 75 20 74 6f 20 66 6c |t need you to fl| 00000cd0 75 73 68 20 74 68 65 20 66 6f 6e 74 20 63 61 63 |ush the font cac| 00000ce0 68 65 2c 20 61 6e 64 20 74 68 65 20 58 65 6e 6f |he, and the Xeno| 00000cf0 50 68 69 6c 69 61 0a 76 65 72 73 69 6f 6e 20 6f |Philia.version o| 00000d00 66 20 21 46 6c 6f 61 74 20 6f 6e 6c 79 20 68 61 |f !Float only ha| 00000d10 73 20 74 6f 20 63 68 61 6e 67 65 20 74 68 65 20 |s to change the | 00000d20 6b 65 79 62 6f 61 72 64 20 61 6e 64 20 53 79 73 |keyboard and Sys| 00000d30 74 65 6d 20 66 6f 6e 74 20 61 6e 64 0a 70 72 6f |tem font and.pro| 00000d40 76 69 64 65 20 74 68 65 20 70 6f 73 69 74 69 6f |vide the positio| 00000d50 6e 69 6e 67 20 66 75 6e 63 74 69 6f 6e 2e 20 4d |ning function. M| 00000d60 75 63 68 20 74 69 64 69 65 72 2e 20 49 74 20 61 |uch tidier. It a| 00000d70 6c 73 6f 20 6d 65 61 6e 73 20 49 20 63 61 6e 0a |lso means I can.| 00000d80 70 72 6f 76 69 64 65 20 74 68 65 20 4c 61 70 70 |provide the Lapp| 00000d90 69 73 68 20 65 6e 67 20 61 6e 64 20 44 75 74 63 |ish eng and Dutc| 00000da0 68 20 69 6a 20 6c 69 67 61 74 75 72 65 2e 0a 0a |h ij ligature...| 00000db0 49 66 20 61 6e 79 20 6f 74 68 65 72 20 70 72 6f |If any other pro| 00000dc0 64 75 63 65 72 20 6f 66 20 66 6f 6e 74 73 20 77 |ducer of fonts w| 00000dd0 61 6e 74 73 20 74 6f 20 74 61 6b 65 20 61 64 76 |ants to take adv| 00000de0 61 6e 74 61 67 65 20 6f 66 20 21 46 6c 6f 61 74 |antage of !Float| 00000df0 20 49 27 64 20 62 65 0a 68 61 70 70 79 20 74 6f | I'd be.happy to| 00000e00 20 70 72 6f 76 69 64 65 20 73 75 69 74 61 62 6c | provide suitabl| 00000e10 65 20 76 65 72 73 69 6f 6e 73 20 66 6f 72 20 61 |e versions for a| 00000e20 20 6d 6f 64 65 73 74 20 66 65 65 2e 20 43 6f 6e | modest fee. Con| 00000e30 74 61 63 74 20 6d 65 2e 20 41 6c 6c 0a 76 65 72 |tact me. All.ver| 00000e40 73 69 6f 6e 73 20 63 61 6e 20 62 65 20 6d 65 72 |sions can be mer| 00000e50 67 65 64 20 77 69 74 68 6f 75 74 20 70 72 6f 62 |ged without prob| 00000e60 6c 65 6d 73 20 66 6f 72 20 75 73 65 72 73 20 6f |lems for users o| 00000e70 66 20 66 6f 6e 74 73 20 66 72 6f 6d 20 6d 75 6c |f fonts from mul| 00000e80 74 69 70 6c 65 0a 73 6f 75 72 63 65 73 2e 20 54 |tiple.sources. T| 00000e90 68 69 72 64 20 70 61 72 74 79 20 66 6f 6e 74 73 |hird party fonts| 00000ea0 20 63 6f 75 6c 64 20 62 65 20 65 69 74 68 65 72 | could be either| 00000eb0 3a 0a 0a 20 20 49 53 4f 2f 49 45 43 20 36 39 33 |:.. ISO/IEC 693| 00000ec0 37 20 6f 6e 6c 79 20 66 6f 6e 74 73 20 28 6c 69 |7 only fonts (li| 00000ed0 6b 65 20 58 65 6e 6f 50 68 69 6c 69 61 20 66 6f |ke XenoPhilia fo| 00000ee0 6e 74 73 29 2c 20 6f 72 0a 0a 20 20 6e 6f 72 6d |nts), or.. norm| 00000ef0 61 6c 20 27 6c 61 6e 67 75 61 67 65 27 20 66 6f |al 'language' fo| 00000f00 6e 74 73 20 66 6f 72 20 64 75 61 6c 20 75 73 65 |nts for dual use| 00000f10 2c 20 62 75 74 20 72 65 71 75 69 72 69 6e 67 20 |, but requiring | 00000f20 74 68 65 20 73 6c 69 67 68 74 6c 79 20 6c 65 73 |the slightly les| 00000f30 73 0a 20 20 61 70 70 6c 69 63 61 74 69 6f 6e 2d |s. application-| 00000f40 66 72 69 65 6e 64 6c 79 20 76 65 72 73 69 6f 6e |friendly version| 00000f50 20 6f 66 20 21 46 6c 6f 61 74 20 61 73 20 73 75 | of !Float as su| 00000f60 70 70 6c 69 65 64 20 68 65 72 65 2e 0a 0a 54 68 |pplied here...Th| 00000f70 65 20 6c 61 74 74 65 72 20 77 6f 75 6c 64 20 6f |e latter would o| 00000f80 62 76 69 61 74 65 20 61 6e 79 20 65 64 69 74 69 |bviate any editi| 00000f90 6e 67 20 66 6f 72 20 65 78 69 73 74 69 6e 67 20 |ng for existing | 00000fa0 27 6c 61 6e 67 75 61 67 65 27 20 66 6f 6e 74 73 |'language' fonts| 00000fb0 2c 0a 61 73 73 75 6d 69 6e 67 20 61 6c 6c 20 74 |,.assuming all t| 00000fc0 68 65 20 6e 65 63 65 73 73 61 72 79 20 63 68 61 |he necessary cha| 00000fd0 72 61 63 74 65 72 73 20 65 78 69 73 74 65 64 20 |racters existed | 00000fe0 69 6e 20 74 68 65 20 63 6f 72 72 65 63 74 20 6c |in the correct l| 00000ff0 6f 63 61 74 69 6f 6e 73 2c 0a 62 75 74 20 77 6f |ocations,.but wo| 00001000 75 6c 64 20 70 72 65 76 65 6e 74 20 74 68 65 20 |uld prevent the | 00001010 70 72 6f 76 69 73 69 6f 6e 20 6f 66 20 74 68 65 |provision of the| 00001020 20 61 64 64 69 74 69 6f 6e 61 6c 20 63 68 61 72 | additional char| 00001030 61 63 74 65 72 73 2e 0a 0a 52 65 6c 61 74 69 76 |acters...Relativ| 00001040 65 6c 79 20 73 6d 61 6c 6c 20 65 64 69 74 73 20 |ely small edits | 00001050 77 6f 75 6c 64 20 61 6c 6c 6f 77 20 74 68 65 20 |would allow the | 00001060 63 6f 6d 70 72 6f 6d 69 73 65 20 70 6f 73 69 74 |compromise posit| 00001070 69 6f 6e 69 6e 67 20 6f 66 0a 66 6c 6f 61 74 69 |ioning of.floati| 00001080 6e 67 20 61 63 63 65 6e 74 73 20 69 6e 20 44 72 |ng accents in Dr| 00001090 61 77 20 2d 20 6d 65 72 65 6c 79 20 61 64 6a 75 |aw - merely adju| 000010a0 73 74 69 6e 67 20 74 68 65 20 77 69 64 74 68 73 |sting the widths| 000010b0 20 6f 66 20 74 68 65 20 61 63 63 65 6e 74 73 20 | of the accents | 000010c0 74 6f 0a 7a 65 72 6f 2e 20 49 64 65 61 6c 6c 79 |to.zero. Ideally| 000010d0 2c 20 74 68 65 69 72 20 70 6f 73 69 74 69 6f 6e |, their position| 000010e0 73 20 73 68 6f 75 6c 64 20 62 65 20 61 64 6a 75 |s should be adju| 000010f0 73 74 65 64 20 74 6f 20 6f 70 74 69 6d 75 6d 20 |sted to optimum | 00001100 63 6f 6d 70 72 6f 6d 69 73 65 73 0a 6f 76 65 72 |compromises.over| 00001110 20 74 68 65 20 6c 65 74 74 65 72 73 20 74 6f 20 | the letters to | 00001120 77 68 69 63 68 20 74 68 65 79 20 61 72 65 20 6d |which they are m| 00001130 6f 73 74 20 6f 66 74 65 6e 20 61 74 74 61 63 68 |ost often attach| 00001140 65 64 3b 20 62 75 74 20 74 68 69 73 20 77 6f 75 |ed; but this wou| 00001150 6c 64 0a 6e 65 63 65 73 73 69 74 61 74 65 20 65 |ld.necessitate e| 00001160 64 69 74 69 6e 67 20 61 6c 6c 20 74 68 65 69 72 |diting all their| 00001170 20 6f 63 63 75 72 65 6e 63 65 73 20 61 73 20 63 | occurences as c| 00001180 68 61 72 61 63 74 65 72 20 69 6e 63 6c 75 73 69 |haracter inclusi| 00001190 6f 6e 73 21 0a 0a 43 6f 70 79 72 69 67 68 74 20 |ons!..Copyright | 000011a0 43 6c 69 76 65 20 4b 20 53 65 6d 6d 65 6e 73 20 |Clive K Semmens | 000011b0 31 39 39 36 0a 0a 63 73 65 6d 6d 65 6e 73 40 70 |1996..csemmens@p| 000011c0 68 79 73 6f 63 2e 6f 72 67 0a 0a 6f 72 20 63 2f |hysoc.org..or c/| 000011d0 6f 20 41 63 6f 72 6e 20 55 73 65 72 |o Acorn User| 000011dc