forked from exo7math/python1-exo7
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmarkdown_code_2_4.py
More file actions
executable file
·69 lines (52 loc) · 2.08 KB
/
markdown_code_2_4.py
File metadata and controls
executable file
·69 lines (52 loc) · 2.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# Interligne
espace_entre_lignes = 18
def afficher_paragraphe(par,posy):
""" Affiche le texte selon gras et italique et selon le mode
Entrée : un paragraphe (c-à-d une longue ligne), la position verticale
Sortie : affichage """
# Par défaut : texte, sans indentation
mode = "texte"
indentation = 20
if par[0:2] == "##": # Sous_titre
mode = "sous_titre"
par = par[2:] # Supprime les ##
elif par[0] == "#": # Titre
mode = "titre"
par = par[1:] # Supprime le #
elif par[0] == "+": # liste
mode = "liste"
par = u'\u2022' + par[1:] # Remplace le "+" par un rond
indentation = 40
# Gras / pas gras (par défaut ni gras, ni italique)
en_gras = False
en_italique = False
# Début de la ligne (décalé si liste)
posx = indentation
liste_mots = par.split()
for mot in liste_mots:
if mot == "**": # Bascule gras / pas gras
en_gras = not(en_gras)
mot = ""
if en_gras:
fonte = fonte_gras
if mot == "*": # Bascule italique / pas italique
en_italique = not(en_italique)
mot = ""
fonte = choix_fonte(mode,en_gras,en_italique)
if mot != "":
mot = mot + " " # Rajoute espace qui sépare les mots
mot_canvas = canvas.create_text(posx,posy, text=mot,anchor=NW,font=fonte,fill=couleur_texte)
posx = canvas.bbox(mot_canvas)[2]
if posx > largeur:
posx = indentation
posy = posy + espace_entre_lignes
return posy
# Tests
afficher_paragraphe("# Titre Hello ! World",100)
afficher_paragraphe("## Sous_titre Hello "*5,150)
afficher_paragraphe("Hello Bonjour "*30,200)
afficher_paragraphe("Hello ! ** GRAS ** * Italique * ** TRES GRAS ** Rien * Très italique * ** SUPER GRAS **",300)
afficher_paragraphe("+ Pomme",350)
afficher_paragraphe("+ Poire",370)
afficher_paragraphe("Des mots, toujours de mots, encore des mots. "*10,10)
root.mainloop()