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
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.
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.
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" />
.
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 |
	 |
00009 | arresto del tabulatore; tabulazione orizzontale |

 |
0000A | forza un'interruzione di linea; salto di linea |
&Space; |
00020 | spazio della dimensione della lettera m nel font attuale |
  |
000A0 | spazio che non è un punto legale di interruzione |
​ |
0200B | spazio che non ha ampiezza |
  |
0200A | spazio di ampiezza 1/18 em |
  |
02009 | spazio di ampiezza 3/18 em |
  |
02005 | spazio di ampiezza 4/18 em |
   |
02005-0200A | spazio di ampiezza 5/18 em |
​ |
0200A-02063 | spazio di ampiezza -1/18 em |
​ |
02009-02063 | spazio di ampiezza -3/18 em |
​ |
0205F-02063 | spazio di ampiezza -4/18 em |
​ |
02005-02063 | spazio di ampiezza -5/18 em |
⁢ |
02062 | segno di moltiplicazione sottinteso (Sezione 3.2.4 [Operatore, parentesi,
separatore o accento (mo )]) |
⁡ |
02061 | carattere che indica l'applicazione di una
funzione nell'etichettamento di presentazione (Sezione 3.2.4 [Operatore, parentesi,
separatore o accento (mo )]) |
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].
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 |
ⅅ |
02145 | D intesa come differenziale, es. negli integrali |
ⅆ |
02146 | d intesa come differenziale, es. negli integrali |
ⅇ |
02147 | e intesa come base esponenziale dei logaritmi naturali |
ⅈ |
02148F | i intesa come radice quadrata di -1 |
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.
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.
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
|
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