6 Caratteri, entità e font

Descrizione sommaria: Linguaggio di Marcatura Matematica (MathML) Versione 2.0
Precedente: 5 Combinare marcatura di presentazione e di contenuto
Successivo: 7 L'interfaccia del MathML
 
6 Caratteri, entità e font
6.1 Introduzione
   6.1.1 L'intenzione dei nomi dei caratteri
   6.1.2 Il progetto STIX
   6.1.3 Elenchi dei caratteri
   6.1.4 Caratteri non di marcatura
   6.1.5 Elenchi dei simboli di caratteri stampabili
   6.1.6 Costanti speciali
   6.1.7 Elenchi alfabetici
   6.1.8 Raggruppamenti di insiemi di caratteri ISO

6.1 Introduzione

6.1.1 L'intenzione dei nomi dei caratteri

La notazione e i simboli si sono dimostrati molto importanti per la matematica. La matematica è cresciuta in parte a causa della sinteticità e della suggestività della sua notazione in evoluzione. Ci sono stati molti nuovi segni che si sono evoluti per l'uso nella notazione matematica, e i matematici non si sono trattenuti dal fare uso di molti simboli originariamente sviluppati altrove. Il risultato è che la matematica fa uso di una grandissima collezione di simboli. E' difficile scrivere in modo fluente la matematica se questi caratteri non sono disponibili per l'uso nella codifica. E' difficile leggere la matematica se i glifi corrispondenti non sono disponibili per la presentazione su specifici dispositivi di visualizzazione.

Questa situazione ha posto un problema per il primo Gruppo di Lavoro per la Matematica del W3C quando è stata portata in esistenza. Non è caduta naturalmente nell'ambito dello sviluppo di una specifica che permette alla matematica di essere usata con l'HTML e della produzione di una DTD per preoccuparsi di questo più che delle entità permesse nella DTD. Comunque, come l'esperienza ha dimostrato, un lungo elenco di entità senza mezzi per visualizzarle è di poca utilità, ed è causa di frequenti frustrazioni per chi cerca di usare uno standard. D'altra parte, un'ampia collezione di glifi e font di caratteri senza un modo standard di fare riferimento ad essi è di altrettanto poca utilità.

Il Gruppo di Lavoro per la Matematica del W3C si è perciò assunto direttamente il compito di specificare parte dell'intero meccanismo necessario per procedere dalla notazione alla presentazione finale, ed ha iniziato la collaborazione con organizzazioni che si occupano di specificare il resto.

Per esempio, nel MathML 1 cercavamo di usare i nomi delle entità per i molti segni e caratteri contenuti in ISO TR 9573, che sostituisce la precedente ISO TR 8879 per quello che riguarda la matematica. Ci sono considerazioni di uso matematico che occasionalmente sono contro questo, e gli elenchi TR 9573 hanno bisogno di un supplemento. C'era la speranza di accordi con il GL TR 9573 su estensioni adatte, nel corso della revisione del loro documento che stavano intraprendendo. Ciò non è successo in realtà, e l'attesa revisione TR 9573 non è ancora apparsa.

Anche il progetto STIX del gruppo di pubblicatori scientifici e tecnici STIPUB lavora dal 1997 verso una collezione comune di simboli e nomi matematici. Il Gruppo di Lavoro per la Matematica del W3C stesso ha collaborato con quel progetto e si aspetta di dover produrre ulteriori aggiornamenti sulla questione delle entità carattere come conseguenza del lavoro utile di questo progetto e di altri. Per le ultime tabelle di caratteri e informazioni sui font, si veda la pagina principale del Gruppo di Lavoro per la Matematica del W3C.

6.1.2 Il progetto STIX

Il primo responsabile del gruppo del progetto STIX, Nico Poppelier, è membro del Gruppo di Lavoro per la Matematica del W3C. Il progetto STIX, avviato dal gruppo di pubblicatori STIPUB, comprende la Società Americana per la Chimica (ACS), l'Istituto Americano di Fisica (APS), la Società Americana per la Matematica (AMS), la Società Americana per la Fisica (APS), i Pubblicatori scientifici Elsevier e l'Istituto degli ingegneri elettrici ed elettronici (IEEE). L'obiettivo iniziale era formulare una collezione di caratteri necessari nel corso di pubblicazioni scientifiche e tecniche. Un database di caratteri di uso comune è stato prodotto da organizzazioni di pubblicazione che collaboravano, comprese informazioni dal mondo TEX, Springer Verlag (Heidelberg), Design Science Inc., Wolfram Research Inc., l'Associazione per le Macchine per il Calcolo (ACM), oltre a coloro nominati in precedenza. La coordinazione e la maggior parte del lavoro su questo è stata fatta da Barbara Beeton dell'AMS.

Il gruppo STIX ha proposto al Comitato tecnico dell'Unicode (UTC) del consorzio Unicode le aggiunte alla prossima revisione dell'insieme di caratteri Unicode che questo processo mostra che sono necessarie, insieme ai codici di caratteri appropriati. Questo è stato il soggetto di una negoziazione per qualche tempo. Nel marzo 2000 una proposta sostenuta dall'UTC è stata portata avanti all'incontro ISO WG2 a Pechino che tratta dell'incorporazione di nuovo materiale nello standard ISO 10646. I risultati finali di qualla delibera, che si spera confermino l'assegnazione di punti di codice messi avanti dall'UTC, saranno incorporati nelle informazioni rese pubbliche dal GL per la Matematica.

Infine, l'intenzione del progetto STIX è sempre stata quella di commissionare la produzione di un insieme completo di font che coprano quei caratteri Unicode per la scienza e la tecnologia, da rendere disponibile al pubblico sotto licenza, ma senza nessun costo. Il gruppo STIPUB riconosce che la facile disponibilità dei caratteri e dei font facilita enormemente la comunicazione e la pubblicazione. All'inizio dell'anno 2000 il processo di commissionare la realizzazione di font è appena all'inizio, e se ne auspica la piena disponibilità entro uno o due anni.

6.1.3 Elenchi dei caratteri

Questo capitolo delle specifiche MathML contiene un elenco di nomi di caratteri utilizzabili nel MathML.

Per fornire più informazioni sui caratteri usati dalla matematica abbiamo usato una grande base di dati comparativa che mostra i codici e i significati in altri comuni ambienti matematici. Il gruppo di lavoro per la matematica del W3C è molto grato ad Elsevier Science, a Wolfram Research (i produttori di Mathematica ®) e a Design Science (i produttori di MathType ®) per averci resi disponibili così tanti dati utili.

Nel MathML 1 i caratteri delle scienze matematiche erano elencati come entità. Ciò è coerente con il modo di pensare in termini di marcatura SGML e con l'uso delle DTD. Per il mondo XML con il suo uso di documenti deve essere sufficiente che siano ben formati per l'esaminazine di uno in particolare, che non richieda una convalida con l'uso di una DTD, dove le entità carattere si troverebbero dichiarate. Il prossimo sviluppo che ci si aspetta sostituisca la DTD come specificatore di una classe di documenti è quello degli Schemi. Le specifiche per gli Schemi sono attualmente in fase di sviluppo attivo al W3C. Anche se la forma finale degli Schemi non è ancora chiara, è noto che il loro uso preclude l'uso efficace di grandi elenchi di entità. Per questa ragione il MathML 2 passa dall'uso delle entità per nominare i caratteri matematici, che diventa un uso disapprovato, all'uso degli elementi mchar. Per questa ragione le tabelle sotto si limitano ad elencare i nomi di carattere suggeriti, che dovrebbero essere usati nella forma <mchar name="nome_del_carattere" />.

6.1.4 Caratteri non di marcatura

Alcuni caratteri, anche se importanti per la qualità della presentazione in fase di stampa, non hanno un glifo corrispondente. Sono chiamati in questo documento caratteri non di marcatura. Sotto abbiamo una tabella di quelli adottati ai fini del MathML. I loro ruoli sono discussi nel Capitolo 3 [Marcatura di presentazione] e nel Capitolo 4 [Marcatura di contenuto], rispettivamente. I valori degli spazi dati sono direttive. Alcuni di questi caratteri non hanno valori Unicode ufficiali, e altri sono dati come combinazione di caratteri Unicode facendo uso del carattere speciale modificatore per la matematica (U02063). La corrispondenza tra i valori di spaziatura menzionati sotto e quelli nelle descrizioni Unicode non è esatta, ma sono piuttosto vicini.

Nel MathML 1.0 c'erano molte più entità caratteri non di marcatura di quelle elencate qui. Queste riguardavano il controllo della composizione, come le interruzioni di linea. Nel MathML 2 tale controllo è effettuato dall'uso degli attributi appropriati nell'elemento mspace.

Nome del carattere Unicode Descrizione
&Tab; 00009 arresto del tabulatore; tabulazione orizzontale
&NewLine; 0000A forza un'interruzione di linea; salto di linea
&Space; 00020 spazio della dimensione della lettera m nel font attuale
&NonBreakingSpace; 000A0 spazio che non è un punto legale di interruzione
&ZeroWidthSpace; 0200B spazio che non ha ampiezza
&VeryThinSpace; 0200A spazio di ampiezza 1/18 em
&ThinSpace; 02009 spazio di ampiezza 3/18 em
&MediumSpace; 02005 spazio di ampiezza 4/18 em
&ThickSpace; 02005-0200A spazio di ampiezza 5/18 em
&NegativeVeryThinSpace; 0200A-02063 spazio di ampiezza -1/18 em
&NegativeThinSpace; 02009-02063 spazio di ampiezza -3/18 em
&NegativeMediumSpace; 0205F-02063 spazio di ampiezza -4/18 em
&NegativeThickSpace; 02005-02063 spazio di ampiezza -5/18 em
&InvisibleTimes; 02062 segno di moltiplicazione sottinteso (Sezione 3.2.4 [Operatore, parentesi, separatore o accento (mo)])
&ApplyFunction; 02061 carattere che indica l'applicazione di una funzione nell'etichettamento di presentazione (Sezione 3.2.4 [Operatore, parentesi, separatore o accento (mo)])

6.1.5 Elenchi dei simboli di caratteri stampabili

Anche se la situazione in merito alla disponibilità dei codici dei caratteri da Unicode e sotto ISO 10646 non è ancora ben chiara al momento della scrittura, abbiamo deciso di procedere sull'assunzione che le modifiche al codice suggerite all'ISO WG2 dall'UTC saranno confermate. Come nel caso precedente possiamo solo ripetere che per sviluppi attuali su dettagli di standard di caratteri che possono influenzare il formalismo matematico si deve consultare la pagina principale del GL per la Matematica del W3C.

Il GL per la Matematica ha iniziato dalla proposta ISO 9573-13, come ci è stato detto da Anders Berglund, ed ha aggiunto numerosi alias informativi aggiuntivi basati sulla pratica della comunità di tipografi matematici. L'influenza principale fuori dall'ISO è stata l'insieme di nomi trovati nella comunità TEX, poiché informano la pratica dei contributori all'archivio di caratteri STIX menzionato in precedenza.

Per facilitare la comprensione di un elenco di nomi piuttosto ampio, con un totale di oltre 2000 voci in questo caso, offriamo le stesse informazioni in più di una forma.

Abbiamo i caratteri elencati per nome e glifi di esempio per ciascuno di essi. Ogni nome di carattere è accompagnato da un codice per un raggruppamento di caratteri scelto da un elenco dato in seguito, una breve descrizione verbale ed un codice esadecimale Unicode se c'è un glifo di esempio corrispondente in ISO 10646, ora esteso in accordo con la proposta avanzata dall'UTC all'ISO WG2 nel marzo del 2000. Abbiamo escluso, con pochissime eccezioni che ci sembravano impellenti, altri caratteri che possono essere apparsi negli elenchi corrispondenti nel MathML 1. Quei caratteri perduti sono risultati di uso molto infrequente nell'esperienza degli editori matematici, o semplicemente completamente inaccettabili per l'inclusione in Unicode. Comunque il MathML 2 fornisce gli elementi mglyph e csymbol per disporre nuovi caratteri che gli scrittori possono voler introdurre.

Gli elenchi dei caratteri in ordine alfabetico e Unicode nella Sezione 6.1.7 [Elenchi alfabetici] sono ora maggiormente in linea con i corrispondenti insiemi di caratteri ISO di quanto non fossero nel MathML 1.0, poiché se qualche parte di un insieme è inclusa allora è incluso l'intero insieme. In aggiunta, il gruppo ISOCHEM è stato rimosso, in quanto riguarda maggiormente la chimica. Queste modifiche sono state inoltre riflesse nelle dichiarazioni delle entità nella DTD nell'Appendice A [Analisi del MathML].

6.1.6 Costanti speciali

Per cominciare elenchiamo separatamente alcuni dei caratteri speciali che il MathML ha ritenuto adatti ad essere introdotti in modo un po' radicale. A questi caratteri sono stati assegnati nuovi valori Unicode. C'erano inoltre voci per &true;, &false; e &NotANumber;, ma non hanno ancora valori Unicode assegnati ad essi, perciò sono stati eliminati. Possono essere introdotti di nuovo dai meccanismi di estensione dei caratteri forniti dagli elementi mchar e csymbol.

Nome dell'entità Unicode Descrizione
&CapitalDifferentialD; 02145 D intesa come differenziale, es. negli integrali
&DifferentialD; 02146 d intesa come differenziale, es. negli integrali
&ExponentialE; 02147 e intesa come base esponenziale dei logaritmi naturali
&ImaginaryI; 02148F i intesa come radice quadrata di -1

6.1.7 Elenchi alfabetici

La prima tabella offerta è un lunghissimo elenco ASCII di nomi di entità stampabili, in ordine alfabetico, con le maiuscole che vengono prima delle minuscole come nell'ordine ASCII. C'è inoltre un elenco ASCII di caratteri stampabili in ordine di numero Unicode. I numeri Unicode sono quelli dell'attuale proposta che, ci aspettiamo, farà eventualmente parte della prossima revisione, Unicode 4. Unicode 3 è appena stato pubblicato in febbraio 2000. In seguito abbiamo collezioni delle entità in insiemi di entità che corrispondono ai raggruppamenti nei corrispondenti documenti ISO.

6.1.8 Raggruppamenti di insiemi di caratteri ISO

Inoltre, elenchiamo il materiale di cui sopra nei raggruppamenti usati da ISO 9573-13. Questa tabella rende espliciti i raggruppamenti di entità e fornisce collegamenti agli elenchi ASCII dei gruppi e agli elenchi tabulari HTML che mostrano anche i glifi.

6.1.8.1 Insiemi di simboli ISO

I simboli per la matematica che ha considerato l'ISO sono organizzati, per ragioni sia storiche che mnemoniche, in raggruppamenti dai nomi piuttosto descrittivi. Nelle tabelle che seguono riproduciamo le ultime versioni proposte di tali gruppi e diamo i corrispondenti glifi di esempio Unicode. Le voci sono organizzate in ordine alfabetico secondo il nome dei caratteri.

Si noti che i glifi di esempio qui riportati sono file GIF adatti alla visione sullo schermo di un monitor a 72dpi. Non sono adatti alla stampa, e in particolare non costituiscono un insieme di font che coprono i simboli della matematica. Un tale insieme di font è in fase di sviluppo in più di un contesto. Il Gruppo di Lavoro per la Matematica del W3C è impegnato nello sforzo di assicurare che tali font siano presto pubblicamente disponibili.

Il primo blocco di insiemi comprende soprattutto simboli che non sono lettere, insieme ad alcune lettere che hanno una semantica matematica.

Gruppo Nome descrittivo
ISOAMSA Simboli matematici aggiunti: frecce
ISOAMSB Simboli matematici aggiunti: operatori binari
ISOAMSC Simboli matematici aggiunti: delimitatori
ISOAMSN Simboli matematici aggiunti: relazioni negate
ISOAMSO Simboli matematici aggiunti: ordinari
ISOAMSR Simboli matematici aggiunti: relazioni
ISOTECH Simboli tecnici generali
ISOPUB Pubblicazione
ISODIA Segni diacritici
ISONUM Simboli numerici e simboli grafici speciali
ISOBOX Per disegnare linee e riquadri

6.1.8.2 Insiemi di caratteri ISO per gli alfabeti matematici

La letteratura matematica mostra l'uso comune di stili particolari di font. I caratteri che rappresentano date lettere che differiscono solo nella presentazione del glifo non sono in principio diversi ai fini di un'anagrafe di caratteri come l'Unicode, che non si suppone che tenga in conto semplici differenze di font. Comunque l'uso ha portato al fatto che sia l'ISO che l'Unicode, come la matematica, li riconoscono come entità diverse. Perciò vogliamo includere elenchi per i font greco, corsivo, contornato (noto anche come doppia battitura o neretto da lavagna) e fraktur (noto anche come gotico o tedesco). L'UTC ha accettato la proposta per l'inclusione di queste serie di caratteri alfabetici nell'Unicode Plane 1 per uso espresso della matematica, fatta loro da Murray Sargent della Microsoft e sostenuta dal progetto STIX come soluzione di compromesso. Comunque, le regole dell'UTC precludono la duplicazione, se possibile, di metodi per codificare un carattere che convenzionalmente ha essenzialmente una rappresentazione glifica. Perciò ci sono buchi in certi punti delle serie alfabetiche per l'uso matematico nella codifica Plane 1. Questi buchi, comunque, saranno riservati e non usati per niente altro, e così possono essere usati, internamente, nel modo ovvio da un'applicazione che gestisce la matematica.

Gruppo Nome descrittivo
ISOGRK3 Simboli greci
ISOMSCR Alfabeto corsivo per la matematica
ISOMOPF Alfabeto contornato per la matematica
ISOMFRK Alfabeto fraktur per la matematica

Descrizione sommaria: Linguaggio di Marcatura Matematica (MathML) Versione 2.0
Precedente: 5 Combinare marcatura di presentazione e di contenuto
Successivo: 7 L'interfaccia del MathML