Savais-tu que tu pouvais tapper plus de caractÚres que ceux qui sont sur ton clavier ? Apprends à quand il est plus clair de les utiliser.
Chaque caractĂšre dans le monde informatique correpond Ă un nombre, par example A
vaut 65, a
vaut 97, Ă©
vaut 233, la lettre grecque α
vaut 945.
Ce nombre est appelĂ© le point de code Unicode. Tu as peut-ĂȘtre entendu parler de code ASCII. US-ASCII est vieux et crĂ©Ă© par des amĂ©ricains,
il représente seulement les 128 premiers caractÚres, donc 65 pour A
est un code ASCII et un code Unicode,
mais 945 pour α
n'existait pas Ă l'Ă©poque d'ASCII.
Quand on parle d'un point de code Unicode comme 945, tout le monde aime utiliser la notation standard
U+xxxx oĂč xxxx est le code en hexadĂ©cimal.
La lettre Ă©
est donc appelée U+00E9 car E9 est l'hexadécimal de 233 en décimal.
Des tables existent
avec la liste de tous les caractĂšres.
Unicode donne aussi un nom unique en anglais n'utilisant que les caractĂšres A-Z et les tirets comme
LATIN SMALL LETTER E WITH ACUTE pour Ă©.
Pour encoder un ou plusieurs charactÚres en une séquence d'octet, on a besoin d'un encodage comme le trÚs populaire utf-8. Pour une histoire plus détaillée, allez ici. Une référence sur Internet est également ce blog post
Unicode est bien plus complexe que juste décider d'un nombre pour chaque caractÚre, il parle aussi des bidirectional characters, combining characters, CJK (Chinois, Japonais, Koréen) characters, emoji, normalization, et plein d'autres.
Utilise
LaTeXÂ !
Des fractions comme
\frac{1}{1+x}
,
intégrales comme
\int_{1}{x} x^2 dx
,
symboles comme \iff
...
Tout y est.
Disponible pour pdf,
web, svg, PowerPoint.
3 · 2, 3 â
 2 ou 3 Ă 2 PAS 3 . 2, 3.2, 3âą2, 3x2 â
La croix de multiplication n'a pas la mĂȘme forme que la lettre x, en Ă©criture manuscrite le x se doit d'ailleurs d'ĂȘtre rond
().
Quant à la notation en point, en littérature francophone,
la convention est 2.3 mais je préfÚre la convention anglaise qui met
le point au milieu 2·3 Ă la mĂȘme hauteur que les autres
2+3, 2â3, 2Ă3 ou 2Ă·3.
U+00B7 · MIDDLE DOT \cdot
·
,
U+22C5 â
DOT OPERATOR,
U+00D7 Ă MULTIPLICATION SIGN \times
,
U+2022 âą BULLET.
2â1 = â1 PAS 2-1 = -1 —
Le tiret -
utilisĂ© dans les mots-composĂ©s n'est pas le mĂȘme caractĂšre que l'opĂ©ration de soustraction
,
le moins de soustraction a la mĂȘme largeur que le + ou le Ă
.
LaTeX en mode mathĂ©matique remplacera les tiret - par le signe correct â
.
U+2212 â MINUS SIGN −
.
â„ = â PAS >= == != /= —
Ăvidement, en code, on se devra d'utiliser les bons caractĂšres.
Cependant si vous ne savez vraiment pas entrer de caractĂšre unicode (ce qui ne devrait pas arriver vu que vous lisez cet article),
préférez !=
Ă /=
car en programmation /=
a une autre signification liée à la division
1/2 1Ă·2 PAS 1:2 1â2 1â2 â Voir wikipedia division oĂč ISO 80000-2-9.6 dit que Ă· ne devrait pas ĂȘtre utilisĂ©, les deux derniers sont le fraction slash et le division slash mais ils n'apparaissent pas bien dans tous les browsers donc utilisez plutot le simple / ou les caractĂšres de fraction ci-dessous. Quant Ă 1:2 cette convention n'est pas internationale et risque d'ĂȘtre confondue avec autre chose par des amĂ©ricains par exemple .
Âœ ÂŒ â quand vous trouvez plus clair que d'Ă©crire 1/2 ou 3/4 ou 1/3 . Liste ici.
Vector: LaTeX \vec{x}
U+20D7 xâ COMBINING RIGHT ARROW ABOVE.
C'est un caractĂšre de combinaison,
il doit ĂȘtre placĂ© aprĂšs le caractĂšre qu'il veut dĂ©corer.
FlĂšches : ââââââââââ⊠â liste ici.
xÂČ PAS x^2 â latex x^2
, html x<sup>2</sup>
.
Il y a aussi â°ÂčÂČÂłâŽâ”â¶â·âžâčâșââ»â et
bien d'autres.
± latex \pm
, html ±
.
U+00B1 ± PLUS-MINUS SIGN.
Micro comme dans ”m (U+00B5 ” MICRO SIGN LaTeX).
â
pour l'ensemble vide.
Attention en LaTeX \varnothing
PAS \emptyset
PAS \phi
ou autres variations. Wikipedia Empty Set.
âšâ§ ÂŹ Ä PAS v \/ /\ ! â Wikipedia List.
Grec ? Change ton clavier en grec ! Et apprends le raccourci pour vite le changer, sur Windows, Windows+Space, sur Mac Command+Space ou Alt+Space ou aller dans les paramÚtres systÚme pour changer le raccourci, sur Linux allez dans les paramÚtres systÚmes pour choisir.
1 ⩜ 2, 2 ⩟ 1 (U+2A7D \leqslant
, U+2A7E \geqslant
).
Afin d'ĂȘtre international, utilise ≤ â„.
Les â©œ â©Ÿ sont utilisĂ©s en littĂ©rature françaises et russes.
En code dans un langage de programmation, on utilisera bien entendu les caractÚres ASCII imposés par le langage, on devra donc écrire
>= == != * -
et pas â„ = â à · â
(uniquement valable pour le code !).
The aim of Unicode is to easily manage every language of the word, even the old/anciant ones.
Russian
U+0430 Đ° CYRILLIC SMALL LETTER A
U+0431 б CYRILLIC SMALL LETTER BE
U+0433 Đł CYRILLIC SMALL LETTER GHE
U+0432 ĐČ CYRILLIC SMALL LETTER VE
U+0434 ĐŽ CYRILLIC SMALL LETTER DE
Greek
U+03B1 α GREEK SMALL LETTER ALPHA
U+03B2 ÎČ GREEK SMALL LETTER BETA
U+03B3 Îł GREEK SMALL LETTER GAMMA
U+03B4 ÎŽ GREEK SMALL LETTER DELTA
Attention should be taken that the symbol A can then be different characters :
U+0041 A LATIN CAPITAL LETTER A
U+0391 Î GREEK CAPITAL LETTER ALPHA
U+0410 Đ CYRILLIC CAPITAL LETTER A
Diacritics are also part of Unicode:
Diacritics: accents, cedilla, strokes⊠é exists in both composed and decomposed form, the decomposed form uses two code points for this character:
U+00E9 LATIN SMALL LETTER E WITH ACUTE
U+0065 LATIN SMALL LETTER E
, U+0301 COMBINING ACUTE ACCENT
Local keyboards do produce the composed form because it's more useful. Of course, they all have a caps version, see note here if you think avoiding accents on capital letters is a good idea.
$ ⏠„ Âą € âż âœ àžż âč
. List on wikipedia.
Toujours mettre les accents sur les majuscules, aucunes excuses. L'AcadĂ©mie française est clairement en faveur de cette pratique, si tu ne veux mĂȘme pas croire l'AcadĂ©mie française, je ne sais pas qui tu peux suivre en terme d'exactitude de la langue française. Le fait d'accepter des majuscules sans accents date de l'Ă©poque de la Machine Ă Ă©crire oĂč c'Ă©tait mĂ©caniquement impossible, la Machine Ă Ă©crire, c'Ă©tait il y a 30 ans non ? Cependant sur les prĂ©noms et noms de famille, chacun choisit comment on Ă©crit son nom, ainsi demander Ă une Elise si elle veut un accent sur son E est une question tout Ă fait acceptable.
Pour mettre en évidence un mot, ne pas le mettre en MAJUSCULE, le mettre en gras. Cependant, la mise en majuscule permet parfois d'augmenter la lisibilité. Ne pas mettre d'accent sur les majuscules au contraire diminue la lisibilité. Une autre alternative est de simplement mettre la premiÚre lettre en majuscule ou d'utiliser les petites capitales, ce qui marche aussi avec une Majuscule. Les petites majuscules sont disponibles en CSS via font-variant: small-caps
ou sous Microsoft Word (ici ou lĂ ).
L'espace insécable ou en anglais non-breaking space
(nbsp) (U+00A0) (html
).
Cette espace spĂ©ciale (oui on dit une espace) ne peut pas ĂȘtre cassĂ©e pour passer Ă la ligne, mettre un nbsp avant un ? par exemple empĂȘcherait une ligne de commencer par ?.
Elle doit ĂȘtre mise avant
: ; ? !
et au milieu des guillemets
«»
(c'est une convention française de France, en anglais ou en québéquois, on ne met pas d'espace).
Latex et word sont au courant, rien Ă faire Ă ce niveau lĂ .
In CSS, for presentation purpose, one can also use white-space: nowrap
.
Guillemet français vs guillemets anglais vs guillemets droits « mot » âmotâ "mot". Toutes les variations seront comprises. Wikipedia Quotation Mark.
Le tiret (dash en anglais) -, le En-dash â et le Em-dash â sont des tirets de longeurs diffĂ©rentes. En français le En-dash est appelĂ© tiret moyen et le Em-dash est appelĂ© tiret long ou tiret cadratin. J'aime utiliser le En-dash pour les intervalles comme (vivant 1850â1920). Les Em-dash sont utilisĂ©s dans les livres pour les dialogues . Wikipedia about Dash, Wikipedia sur le Tiret. Ne pas confondre avec le signe moins bien que je prĂ©fĂšre clairement une soustraction comme "5–2" Ă©crite avec un En-dash plutĂŽt qu'une soustraction comme "5-2" Ă©crite avec un tiret. La largeur d'un En dash Ă©tant souvent la mĂȘme que celle du signe moins (En-dash 5–2 vs 5−2 signe moins).
Mettre du texte en majuscule pour attirer l'attention, par exemple sur une vidéo youtube, est une pratique je déplore.
Il se doit de mettre une espace (nom fĂ©minin) Ă l'extĂ©rieur des parenthĂšses mais jamais Ă l'intĂ©rieur, ainsi on Ă©crira Hello (bonjour) Alice et non Hello ( bonjour ) Alice. Latex et word sont au courant, rien Ă faire Ă ce niveau lĂ . Cependant en math, dans le contexte de fonction, on ne met pas d'espace avant la parenthĂšse ouvrante. On Ă©crira sin(x) et non sin (x), le dernier pourrait ĂȘtre confondu avec une multiplication.
\times
pour Ă.×
pour Ă. Liste WikipĂ©dia.digraph
! C'est la mĂȘme idĂ©e que la Compose Key.Notez nĂ©amoins que retenir une liste de nombre est stupide donc prĂ©fĂ©rez les autres mĂ©thodes de cette page...
∅
"\u2205"
(Java/Javascript/Python), chr(0x2205)
(Python), String.fromCharCode(0x2205)
(Javascript), Character.toString((char)0x2205)
(Java).Tapper rapidement des caractĂšres en plein de langues â Lexilogos ou Type It.
TrĂšs pratique quand on est, je conseille d'Ă©pingler l'onglet, voire de l'avoir dans une nouvelle fenĂȘtre de petite taille, et de connaĂźtre Alt+Tab !
Python a un support built-in d'unicode depuis la version 3, en python 2 il y a avait deux typles de strings, les strings normales et les strings unicode. Python a Ă©galement un module import unicodedata
pour des opérations plus complexes liées à l'Unicode.
chr(233) == chr(0xe9) == "Ă©"
, ord("Ă©") == 233
print("Les rayons \u03B3 sont dangereux !")
"Ă©tĂ©".upper() == "ĂTĂ"
, "été".lower() == "été"
unicodedata.name("Ă©") == 'LATIN SMALL LETTER E WITH ACUTE'
unicodedata.normalize('NFC', "Ă©") # U+00E9
, unicodedata.normalize('NFD', "Ă©") # U+0065 U+0301
En mode interactif dans ma calculette python, je peux par exemple faire uniline("αÎČÎł")
pour avoir une belle liste :
["U+03B1 α GREEK SMALL LETTER ALPHA",
"U+03B2 ÎČ GREEK SMALL LETTER BETA",
"U+03B3 Îł GREEK SMALL LETTER GAMMA"]
Voici la définition de la fonction uniline
, pour plus de fun, voir mon fichier
uniutils.py
 :
import unicodedata
def uniname(s):
""" Ă© â LATIN SMALL LETTER E WITH ACUTE """
if len(s) == 1:
return unicodedata.name(s, '?')
else:
return [uniname(x) for x in s]
def uord(s):
""" Ă© â U+00E9 """
if len(s) == 1:
return 'U+' + hex(ord(s))[2:].zfill(4).upper()
else:
return [uord(x) for x in s]
def uniline(s):
""" Ă© â U+00E9 Ă© LATIN SMALL LETTER E WITH ACUTE """
if len(s) == 1:
return uord(s) + ' ' + s + ' ' + uniname(s)
else:
return [uniline(x) for x in s]