2012-07-08 14 views
5

Molti hanno probabilmente provato a copiare del testo da Word in un modulo di un sito Web o qualcosa del genere, e tutte le virgolette ('), virgolette (") e trattini (-) vengono confuse. o "Frasi di Typographer", ma non conosco il nome del trattino C'è una categoria che include questi caratteri? C'è di più?Esiste una categoria o un nome per i caratteri come le virgolette intelligenti e quel trattino che si interrompe sempre?

Caratteristiche perspicue di questa categoria: accessibile con la normale tastiera qwerty, ed è facilmente visivamente confondibile per il suo equivalente ASCII

Questa domanda sembra avere a che fare con lo stesso problema:.? How do I convert Word smart quotes and em dashes in a string? Inoltre, forse si chiamano "em trattini"

+0

Stai chiedendo quale proprietà Unicode descriverebbe tutti i caratteri che sono accessibili con una tastiera normale e visivamente scambiabili per un equivalente ASCII? Penso che produrrebbe risposte soggettive, dal momento che le tastiere differiscono in tutto il mondo. Penso che il mio probabilmente non abbia alcuna chiave non-ASCII su di esso. O stai chiedendo in particolare quale proprietà Unicode identificherà "quote come caratteri"? – DavidO

+0

Moreso se tra gli sviluppatori c'è un termine per questi caratteri peksy che dovrei cercare su Google per trovare una soluzione che ha già implementato questo filtro. – Mikey

+1

I caratteri che sono "accessibili con una normale tastiera qwerty" dipenderanno dall'applicazione utilizzata. In MS Word, quando digito caratteri con virgolette doppie, vengono convertiti in DOPPIO MARCHIO DI DOMOTICA DOPPIO SINISTRO (U + 201C) e MARCATO DOPPIO QUOTAZIONE DESTRO (U + 201D). Quando digito esattamente la stessa cosa qui nel mio browser web, sono solo dei QUOTATION MARKs (U + 0022). –

risposta

4

Ci sono almeno 1,114,111 punti codice Unicode validi. La mia tastiera standard USA fa sì che quelli compresi tra 1 e 127 (base 10) siano ragionevolmente di facile accesso.

Quando ci si avventura oltre questo intervallo, si inizia a entrare in localizzazioni in stile vecchio o in punti di codice UTF8 (o altri Unicode) più moderni. Molti di questi punti di codice sono facilmente accessibili da una tastiera in qualche parte del mondo. Ma dalla comodità della tua casa o dell'ufficio, troverai un sottoinsieme abbastanza piccolo di questi 1,1 milioni per essere facilmente accessibile dalla tua tastiera.

C'è una proprietà Unicode chiamato QMark (il nome breve), o Quotation_Mark (il nome lungo), che comprende 29 virgolette punti di codice di stile (in UTF8, esadecimale): 0x0022, 0x0027, 0x00ab, 0x00bb, 0x2018, 0x2019 , 0x201a, 0x201b, 0x201c, 0x201d, 0x201e, 0x201f, 0x2039, 0x203a, 0x300c, 0x300d, 0x300e, 0x300f, 0x301d, 0x301e, 0x301f, 0xfe41, 0xfe42, 0xfe43, 0xfe44, 0xff02, 0xff07, 0xff62 e 0xff63.

Ecco come si guardano (supponendo che i font tutti supportano):

"'«»‘’‚‛“”„‟‹›「」『』〝〞〟﹁﹂﹃﹄"'「」

ci capita di essere una proprietà Unicode ASCII, che non contiene sorprendentemente 128 punti di codice tra 0 e 127.

Non riesco a trovare una proprietà Unicode che specifica "Tutto ciò che non è ASCII", ma lo saprai in virtù del fatto che non rientra nell'intervallo 0 .. 127.

C'è anche una proprietà Hyphen Unicode che contiene undici punti di codice: 0x002D, 0x00ad, 0x058a, 0x1806, 0x2010, 0x2011, 0x2e17, 0x30fb, 0xfe63, 0xff0d e 0xff65. Sono riluttante a incollarli tutti qui, poiché almeno due di essi non vengono visualizzati nel mio terminale. Ma qui va:

-­֊᠆‐‑⸗・﹣-・

Come si può vedere, alcuni sono indistinguibili dagli altri. Quando uso la proprietà Hyphen in Perl 5.16 viene visualizzato un avviso che la particolare proprietà Unicode è deprecata. Non so se questo è solo per Perl, o se è per Unicode in generale.

C'è anche una proprietà Dash contenente 27 punti codice. Penso che tu abbia capito l'idea, quindi non li enumererò qui. ... e un altro chiamato Dash_Punctuation con 23 punti di codice. Si noti che molti punti di codice possono essere classificati da più di una proprietà Unicode, quindi è possibile che ci sia una sovrapposizione tra Hyphen e Dash e probabilmente ancora più sovrapposizione tra Dash e Dash_Punctuation - Non so e non ho controllato.

So che questa non è una domanda perl-centrica con qualsiasi mezzo, ma ho trovato che Perl ha una buona documentazione delle proprietà Unicode qui: perldoc perluniprops.

Quindi immagino la risposta breve alla domanda: "C'è dell'altro?" è sì, ci sono circa 1,1 milioni in più.

Aggiornamento: Riguardo a ciò che questi personaggi fastidiosi sono chiamati .... È necessario distinguere tra punti codice e glifi. Un punto di codice è la rappresentazione non ambigua di un'entità Unicode, mentre il glifo è ciò che sembra. Diversi tipi di carattere possono implementare un dato glifo in modo diverso l'uno dall'altro. Quindi quello che sembra lo stesso in un font può sembrare un po 'diverso in un altro. Inizia a pensare ai punti di codice Unicode e ai loro nomi completi associati che hanno un significato semantico, mentre i glifi sono rappresentazioni grafiche semplici (inaffidabili).