Home Papyrus M$ Word M$ Word -> Papyrus

M$ Word en HTML

In eerdere afleveringen heb ik verteld over de mogelijkheid om teksten in Unicode-formaat op te slaan. Dit gebeurt standaard [maar stiekem] in Word 8 [ook wel Word 97 geheten] maar kan ook apart als export-optie waarbij dan dezelfde code wordt opgeslagen minus de hele Word-overhead resp. lay-out. En de Word-overhead schijnt kolossaal te zijn! Een andere export-optie is het wegschrijven als HTML-file. Een vriend van me die er eindelijk achter was hoe hij Poolse teksten in zijn homepage kon krijgen was erg blij met deze optie in Word 97. Alles wat hij maakte bleek uitstekend te lezen in de Internet Explorer. Maar kan Netscape ook lezen wat de M$-programma's hadden bekokstoofd? CAB 2.6 heeft er in iedere geval problemen mee!

Hieronder volgt het belangrijkste uit een message waarin, op verzoek de Poolse tekens waren gezet:

Hierbij stuur ik je het bestandje karakters.htm.

De karakters staan in de volgende volgorde:

AaCcEeLlNnSsZzZz

(In deze mail zie je niet de Poolse, maar je snapt wat ik bedoel....)

De eerste z'tjes zijn met het streepje, de tweede set met de puntjes.

Groetjes,

Content-Type: text/html; charset="us-ascii"
Content-Disposition: attachment; filename="karakters.htm"

<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1252">
<META NAME="Generator" CONTENT="Microsoft Word 97">
 <TITLE>&#260;&#261;&#262;&#263;&#280;&#281;&#321;&#322;&#323;&#324;
&#346;&#347;&#377;&#378;&#379;&#380;</TITLE>
</HEAD>
<BODY>

<FONT SIZE=4>
<P>&nbsp;</P>
</FONT><FONT FACE="Times New Roman" SIZE=4>
 <P>&#260;&#261;&#262;&#263;&#280;&#281;&#321;&#322;&#323;&#324;
&#346;&#347;&#377;&#378;&#379;&#380;</P></FONT></BODY>
</HTML>


Uit de e-mail blijkt al weer hoe americano-centrisch computer-programma's vaak zijn, in dit geval het e-mail programma Windows Eudora, dat uitgaat van een boodschap volgens US-ASCII. Maar ook Word 97 gaat standaard uit van een Windows 1252 ofwel bij uitstek geschikt voor Amerikanen.

De bovenstaande HTML-tekst wordt door CAB 2.6 niet goed geinterpreteeerd wat niet zo vreemd is want de notatie &#..; met cijfer op de plaats van de puntjes slaat gewoonlijk op de [ISO-8859-1] positie tussen 128 en 255 [volgens HTML 3.2]. Bij de tekens hierboven gaat het om getallen boven de 255 die de positie van de lettertekens in de ISO 10646 [ook wel Unicode genaamd] voorstellen. CAB interpreteert de meeste als &# plus (getal -256);, zie ook de schermplaatjes.

In feite gaat hier om een implementatie van wat in HTML 4.0 is vastgelegd [W3C Recommandation, revised on 24-apr-1998]:

5.3.1   Numeric character references

Numeric character references  specify the  code position of a
character in the document character set.
Numeric character references may take two forms:

-   The syntax  "&#D;", where D is a decimal number,
    refers to the Unicode decimal character number D.
-   The syntax "&#xH;" or  "&#XH;", where H is an hexadecimal number,
    refers to the Unicode hexadecimal character number H..
    Hexadecimal numbers in numeric character references are case-insensitive.

Here are some examples of numeric character references:

-  &#229; (in decimal) represents the letter "a" with
   a small circle above it (used, for example, in Norwegian).
-  &#xE5; (in hexadecimal) represents the same character.
-  &#Xe5; (in hexadecimal) represents the same character as well.
-  &#1048; (in decimal) represents the Cyrillic capital letter "I".
-  &#x6C34; (in hexadecimal) represents the Chinese character for water.


Als de bovenstaande notatie - volgens HTML 4.0 - algemeen gebruikt gaat worden - zo lang de 2-byte notatie per letterteken nog niet algemeen is - dan kunnen de HTML-bestanden heel wat simpeler. Iets wat ik ook in een e-mail aan Alexander Clauss [de maker van CAB] heb geschreven:

Dear Alex,

A friend of mine provided me with a HTML-file that he made using Word 97. The Polish characters [socalled 'ogonki'] were denoted in a very special way:

<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1252">
<META NAME="Generator" CONTENT="Microsoft Word 97">
 <TITLE>&#260;&#261;&#262;&#263;&#280;&#281;&#321;&#322;&#323;&#324;
&#346;&#347;&#377;&#378;&#379;&#380;</TITLE>
</HEAD>
<BODY>

<FONT SIZE=4>
<P>&nbsp;</P>
</FONT><FONT FACE="Times New Roman" SIZE=4>
 <P>&#260;&#261;&#262;&#263;&#280;&#281;&#321;&#322;&#323;&#324;
&#346;&#347;&#377;&#378;&#379;&#380;</P></FONT></BODY>
</HTML>

I don't know whether this is the approved HTML 4 notation, but the numbers used here simply refer to the ISO 10646 [or Unicode]. Since it is possible to refer to characters in Speedo or TrueType fonts by means of their Unicode-numbers, your browser CAB might display multilingual HTML-files without having to bother about the "charset=ISO-8859-2" or similar tags. Of course the fonts one need should be at hand for each user but that would be his/her problem.

I' m curious to hear what you know or think about this development - whether MicroSoft driven or not!

Greetings, Rein


Copyright © Rein Bakhuizen van den Brink
Last updated on 26 december 2000

Home Papyrus M$ Word M$ Word -> Papyrus