Comme vous le relevez à juste titre, MacSoup ne peut
savoir si le système, dans son jeu de caractères, a le symbole
de l'euro ou le symbole monétaire indéterminé. Toutefois, si
l'on tient compte de ce que le symbole de l'euro s'utilisera, dans
un avenir très proche, aussi souvent que le $ et de ce que le
symbole indéterminé est quasiment inusité, ce pourrait être
une bonne idée que d'envisager de passer de toute manière à
ISO-8859-15. Actuellement, la transmission du symbole de
l'euro se fait en violation dela norme ISO-8859-1, qui ne
contient pas ce symbole et ne le contiendra jamais.
La meilleure solution serait d'offrir cela en tant qu'option,
mais il y a lieu de l'envisager même si MacSoup ne peut
utiliser qu'un seul jeu de caractères.
En ce qui concerne les en-têtes des messages, ce n'est que
l'affaire de déclarer ISO-8859-15 au lieu de ISO-8859-1,
soit un octet de plus.
Quant aux jeux de caractères eux-mêmes, il s'avère que
quelques changements dans la table de conversion (entre
ISO et MacRoman, dans les deux sens) suffiraient.
Les caractères impliqués sont les suivants :
[Ces détails détails techniques sont en français dans mon
article <news:3b0a...@neottia.net>]
Il s'avère non seulement qu'il y a lieu de transmettre correctement
le symbole de l'euro (exactement comme à présent, mais en déclarant
ISO-8859-15 dans les en-têtes) mais qu'on pourrait également
considérer que d'une part, les diacritiques à espacement sont
quasiment inutilisés dans la pratique et que, d'autre part, si le jeu
MacRoman ne peut pas faire grand chose des z et s caron,
passer à ISO-8859-15 introduirait la compatibilité avec trois
caractères supplémentaires (qui existent à la fois dans MacRoman
et dans ISO-8859-15, mais qui manquaient dans ISO-8859-1).
Il y a par ailleurs deux autres choses que l'on pourrait envisager (que
l'on décide de passer à ISO-859-15 ou non). La première serait
d'avertir l'utilisateur lorsqu'il tente de transmettre quelque chose
qui n'existe pas dans le jeu de caractères sélectionné (une autre
idée serait de tenter de convertir. Par exemple, l'apostrophe courbe
n'existe pas dans les jeux ISO, de telle sorte qu'on pourrait
songer à la convertir en apostrophe droite.
Le second point consisterait à tenter de convertir les caractères
entrants qui n'ont pas d'équivalent dans le jeu MacRoman. Par
exemple, on pourrait songer à convertir le signe de la multiplication
des jeux ISO-8859 (il existe dans ISO-8859-1 et 15, au même
endroit) en un simple "x", ce qui serait mieux qu'un caractère choisi
au hasard. Il convient toutefois de tenir compte de ce que la table
de conversion actuelle a été conçue de façon à permettre la transmission
de certains caractères ISO par les systèmes Macintosh islandais. Il y
a quelques machins qui donneraient de résultats étranges avec une version
MacRoman, mais devraient fonctionner avec une version islandaise. Ce
pourrait être une bonne idée que de fournir deux tables distinctes et de
permettre à l'utilisateur de choisir la table islandaise s'il utilise un
système islandais.
Dear Sir,
Thanks for your message.
As you rightly observe, MacSoup cannot know whether the
system has the euro symbol or the undefined monetary
symbol in its character set, but if we take into account the
fact that the euro symbol is likely to be used, in the very next
future, as frequently as the $ sign and that the undefined
symbol is almost unused, it might be a good idea to consider
switching to ISO-8859-15 instead of ISO-8859-1 anyway.
Currently, the transmision of the euro symbol occurs in
violation of the ISO-8859-1 standard, which does not
contain that symbol and will never contain it.
The best solution would be to provide this as an option,
but it should be considered even if MacSoup can only
use one single character set.
As regards the message headers, it is just a matter of
declaring ISO-8859-15 rather than ISO-89859-1, i.e. just
one byte more.
As to the character sets themselves, it appears that only a
few changes in the conversion table (between ISO and
MacRoman, in both directions) would be needed.
The involved characters are the following :
At hex A4 (dec 164), ISO-8859-1 has the undefined monetary symbol.
ISO-8859-15 has the euro. From the Mac side, it depends on the font
used, but it is clear that the euro will win the battle, if this is not
already the case, the other symbol being almost useless anyway.
At hex A6 (dec 166), ISO-8859-1 has a broken vertical bar.
ISO-8859-15 has an uppercase 'S caron'. MacRoman seems to
lack both of them, so this should give a continuous vertical bar
in case one selects ISO-8859-1 or a simple S in the case of
ISO-8859-15.
At hex A8 (dec 168), ISO-8859-1 has a (spacing) Umlaut.
ISO-8859-15 has a lowercase 's caron'. MacRoman has the spacing
Umlaut (dec 172) and lacks 's caron', but those spacing diacritics
are probably useless anyway.
At hex B4 (dec 180), ISO-8859-1 has a (spacing) acute accent.
ISO-8859-15 has un uppercase 'Z caron'. MacRoman has the
acute accent, but lacks the 'Z caron'. Same situation as above.
At hex B8 (dec 184), ISO-8859-1 has a (spacing) cedilla.
ISO-8859-15 has a lowercase 'z caron'. MacRoman has the
spacing cedilla (dec 252) and lacks the 'z caron'. Same situation
again.
At hex BC (dec 188), ISO-8859-1 has fraction 1/4. ISO-8859-15
has the uppercase OE ligature. MacRoman lacks the fraction, but it
has the OE ligature (decimal 206).
At hex BD (dec 189), ISO-8859-1 has fraction 1/2. ISO-8859-15
has the lowercase oe ligature. MacRoman lacks the fraction, but it
has the oe ligature (decimal 207).
At hex BE (190), ISO-8859-1 has fraction 3/4. ISO-8859-15 has
an uppercase Y Umlaut. MacRoman lacks the fraction, but it has
the uppercase Y with Umlaut (dec 217).
It appears that not only there is a need to correctly transmit the
euro symbol (i.e. just as presently, but explicitly declaring ISO-8859-15
in the message headers as the character set used), but one could also
consider that on the one hand, the spacing diacritics are almost unused
in practice, and on the other hand, while the MacRoman character set
cannot do much for those z and s caron, switching to ISO-8859-15
would add full compatibility with three more characters (which do
exist in both MacRoman and ISO-8859-15, but were missing in
ISO-8859-1).
There are two more things one might consider (regardless of
whether you decide to switch to ISO-8859-15 or not). The first
one would be to warn the user when he or she attemps to transmit
something that does not exist in the selected character set (or
another idea would be to perform a conversion. For instance,
the curly apostrophe does not exist in ISO character sets, so
one could think of converting it into a straight 'single quote').
The second one would be to attempt to convert incoming characters
which do not have any equivalent in the MacRoman character
set. For instance, one could think of converting the ISO-8859
'multiplication sign' (exists in bothe ISO-8859-1 and 15, at the
same position) into a simple 'x', which would be better than
something randomly selected. But one has to take into account
the fact that the current conversion table has been built in such
a way that it prefers to convert into a character which has no
relationship with the original one, but saves the incoming byte
as something unique. In addition to this, that translation table
has been designed in order to allow transmission of some ISO
characters by Icelandic Macintosh systems. There are a few things
which give strange results on a MacRoman version, but should
work on an Icelandic one. It might be a good idea to provide
two separate tables and allow the user to install the Icelandic one
if he or she runs an Icelandic version.
Yours sincerely