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