2013-05-07 16 views
15

é è una lettera di accento acuta. é può anche essere rappresentato da ́ + e = é.Combina i miei caratteri unicode in C#?

Tuttavia, mi chiedevo se posso combinare caratteri unicode?

Ad esempio:

ero alla ricerca di un punto di codice Unicode per punto interrogativo all'interno di un cerchio come in qui (foto):

enter image description here

Ma io non riuscivo a trovare alcun . (Ho guardato here)

quindi mi chiedevo se potevo combinare questi due:

? e (che è ◯ - ad una dimensione più grande, naturalmente).

Dove ? è un regolare punto interrogativo char (?), e è ◯ grande cerchio - forme geometriche.

È possibile farlo in C#?

modificare come qui

enter image description here

dove:

enter image description here

enter image description here

+0

è costituito da è, non combina caratteri - 00E8 - http://unicode-table.com/en/#00E8 – Sayse

+3

@Sayse è ambiguo - può anche essere un accento grave unicode che unisce il carattere a un e regolare, ovvero 'string s =" e \ u0300 ";' –

+0

@RoyiNamir tuttavia, essere pedante ... "è" non è e-acute; questo è un grave, non un acuto –

risposta

25

È possibile utilizzare la combinazione di caratteri su qualsiasi altro carattere, se lo si desidera, ma con l'avvertenza che il carattere ha un ruolo importante nel modo in cui viene visualizzato. Mentre i diacritici comuni come l'accento acuto dovrebbero funzionare praticamente per tutti i caratteri latini nella maggior parte dei caratteri, quelli più oscuri, come U + 20DD Combining Enclosing Circle, sono un po 'più sballati. Ma? ⃝ sarebbe la sequenza che ti serve, ha solo bisogno di supporto per i font.

E con ciò detto, il supporto dei caratteri è abissale. Tutti i font che ho qui che hanno un glifo per quel personaggio (Arial Unicode MS, Calibri, Consolas) non onorano la sua combinazione e rendono semplicemente un cerchio grande accanto a un punto interrogativo.L'unico che non lo rendono un po 'in modo corretto è Cambria and Cambria Math, che almeno si sovrappongono il glifo a quello precedente:

enter image description here

sembra un po' meglio quando si ha lo spazio di sequenza , punto interrogativo, cerchio:

enter image description here

, ma ancora non del tutto giusto.

Per quanto riguarda regolare il supporto il rendering in un browser:


Il tuo browser:?

enter image description here


Per rispondere con precisione alla tua domanda, però: è possibile sovrapponi due glifi nel tuo codice semplicemente pl incollando due etichette direttamente l'una sopra l'altra o disegnandole da soli. Con il supporto di font e rendering così povero come in questo caso è davvero qualcosa che risolverei attraverso un'immagine. Quindi, teoricamente, è possibile (e dal punto di vista di Unicode è sicuramente perché è possibile rappresentare un punto interrogativo cerchiato - ma Unicode non si occupa di caratteri e rendering) ma nella maggior parte dei casi non è molto pratico.

+6

Ottima risposta; a: osserva che esiste un cerchio che racchiude un circoscritto e b: osserva che il supporto dei caratteri per questo è inaffidabile (non funziona per me, ad esempio). –

+0

Firefox 20 su Windows 7 visualizza questo aspetto più o meno allo stesso modo del tuo esempio di Firefox 16 su Win8 (a parte il cerchio è un po 'frastagliato, ma potrebbe essere per altri motivi). –

+0

Si noti che Chrome tende ad avere scelte di font molto povere rispetto a Firefox/Internet Explorer su Windows. Dovrebbe * migliorare * sotto Linux (ma sarà solo alla pari con Firefox). – porges

3

No, almeno non nel senso di combinare il modo in cui si scrive.

Sarà necessario creare un nuovo font con la grafica del cerchio e delle virgolette, ed è possibile assegnare tale 'grafico' a una delle posizioni in una tabella unicode (sostituendo il valore predefinito).

+1

In caso di necessità, è necessario utilizzare il PUA. – Joey