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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
|
% Author : C. Pierquet
% licence : Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txtf
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{circularglyphs}[2023/10/06 0.1.1 Circular glyphs Alphabet]
%====HISTORIQUE
% v 0.1.1 Compatibilité accrue avec le moteur pdflatex ^^ + clé [Color]
% v 0.1.0 Version initiale
%====BASE
\RequirePackage{tikz}
\RequirePackage{xstring}
\RequirePackage{calc}
\RequirePackage{simplekv}
%====LONGUEURS
\newlength{\tmp@circglyph@hauteur@totale}
\newlength{\tmp@circglyph@profondeur}
\def\tmp@circglyph@nivext{0.4}
\def\tmp@circglyph@nivint{0.225}
\def\tmp@circglyph@nivpt{0.25}
%====CLÉS
\defKV[circularglyph]{%
Color=\def\circularglyphcolor{#1}
}
\setKVdefault[circularglyph]{%
Ext=false,%
Inline=false,%
Color=black
}
%====STYLES
\tikzset{
CircGlyphA/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \draw (-\tmp@circglyph@nivext,0) to[out=90,in=180]++ (\tmp@circglyph@nivext,\tmp@circglyph@nivext) ;
},
CircGlyphB/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \draw (0,\tmp@circglyph@nivext) to[out=0,in=90]++ (\tmp@circglyph@nivext,-\tmp@circglyph@nivext) ;
},
CircGlyphC/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \draw (\tmp@circglyph@nivext,0) to[out=-90,in=0]++ (-\tmp@circglyph@nivext,-\tmp@circglyph@nivext) ;
},
CircGlyphD/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \draw (0,-\tmp@circglyph@nivext) to[out=180,in=-90]++ (-\tmp@circglyph@nivext,\tmp@circglyph@nivext) ;
},
CircGlyphE/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \draw (-\tmp@circglyph@nivext,0) arc (180:0:\tmp@circglyph@nivext) ;
},
CircGlyphF/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \draw (0,\tmp@circglyph@nivext) arc (90:-90:\tmp@circglyph@nivext) ;
},
CircGlyphG/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \draw (\tmp@circglyph@nivext,0) arc (0:-180:\tmp@circglyph@nivext) ;
},
CircGlyphH/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \draw (0,\tmp@circglyph@nivext) arc (90:270:\tmp@circglyph@nivext) ;
},
CircGlyphI/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \draw (-\tmp@circglyph@nivext,0) arc (180:-90:\tmp@circglyph@nivext) ;
},
CircGlyphJ/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \draw (-\tmp@circglyph@nivext,0) arc (-180:90:\tmp@circglyph@nivext) ;
},
CircGlyphK/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \draw (0,\tmp@circglyph@nivext) arc (90:360:\tmp@circglyph@nivext) ;
},
CircGlyphL/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \draw (\tmp@circglyph@nivext,0) arc (0:270:\tmp@circglyph@nivext) ;
},
CircGlyphM/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \draw (0,0) circle[radius=\tmp@circglyph@nivext] ;
},
CircGlyphN/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \draw (0,0) circle[radius=\tmp@circglyph@nivext] ; \draw (0,\tmp@circglyph@nivint) arc (90:180:\tmp@circglyph@nivint) ;
},
CircGlyphO/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \draw (0,0) circle[radius=\tmp@circglyph@nivext] ; \draw (\tmp@circglyph@nivint,0) arc (0:90:\tmp@circglyph@nivint) ;
},
CircGlyphP/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \draw (0,0) circle[radius=\tmp@circglyph@nivext] ; \draw (\tmp@circglyph@nivint,0) arc (0:-90:\tmp@circglyph@nivint) ;
},
CircGlyphQ/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \draw (0,0) circle[radius=\tmp@circglyph@nivext] ; \draw (-\tmp@circglyph@nivint,0) arc (180:270:\tmp@circglyph@nivint) ;
},
CircGlyphR/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \draw (0,0) circle[radius=\tmp@circglyph@nivext] ; \draw (\tmp@circglyph@nivint,0) arc (0:180:\tmp@circglyph@nivint) ;
},
CircGlyphS/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \draw (0,0) circle[radius=\tmp@circglyph@nivext] ; \draw (0,-\tmp@circglyph@nivint) arc (-90:90:\tmp@circglyph@nivint) ;
},
CircGlyphT/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \draw (0,0) circle[radius=\tmp@circglyph@nivext] ; \draw (-\tmp@circglyph@nivint,0) arc (-180:0:\tmp@circglyph@nivint) ;
},
CircGlyphU/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \draw (0,0) circle[radius=\tmp@circglyph@nivext] ; \draw (0,\tmp@circglyph@nivint) arc (90:270:\tmp@circglyph@nivint) ;
},
CircGlyphV/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \draw (0,0) circle[radius=\tmp@circglyph@nivext] ; \draw (0,-\tmp@circglyph@nivint) arc (-90:180:\tmp@circglyph@nivint) ;
},
CircGlyphW/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \draw (0,0) circle[radius=\tmp@circglyph@nivext] ; \draw (-\tmp@circglyph@nivint,0) arc (-180:90:\tmp@circglyph@nivint) ;
},
CircGlyphX/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \draw (0,0) circle[radius=\tmp@circglyph@nivext] ; \draw (0,\tmp@circglyph@nivint) arc (90:360:\tmp@circglyph@nivint) ;
},
CircGlyphY/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \draw (0,0) circle[radius=\tmp@circglyph@nivext] ; \draw (\tmp@circglyph@nivint,0) arc (0:270:\tmp@circglyph@nivint) ;
},
CircGlyphZ/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \draw (0,0) circle[radius=\tmp@circglyph@nivext] ; \draw (0,0) circle[radius=\tmp@circglyph@nivint] ;
},
CircGlyphNull/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ;
},
CircGlyphZero/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \filldraw (\tmp@circglyph@nivpt,\tmp@circglyph@nivpt) circle[radius={0.05\tmp@circglyph@hauteur@totale}] (-\tmp@circglyph@nivpt,-\tmp@circglyph@nivpt) circle[radius={0.05\tmp@circglyph@hauteur@totale}] ;
},
CircGlyphUn/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \filldraw (\tmp@circglyph@nivpt,\tmp@circglyph@nivpt) circle[radius={0.05\tmp@circglyph@hauteur@totale}] ;
},
CircGlyphDeux/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \filldraw (\tmp@circglyph@nivpt,-\tmp@circglyph@nivpt) circle[radius={0.05\tmp@circglyph@hauteur@totale}] ;
},
CircGlyphTrois/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \filldraw (-\tmp@circglyph@nivpt,-\tmp@circglyph@nivpt) circle[radius={0.05\tmp@circglyph@hauteur@totale}] ;
},
CircGlyphQuatre/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \filldraw (-\tmp@circglyph@nivpt,\tmp@circglyph@nivpt) circle[radius={0.05\tmp@circglyph@hauteur@totale}] ;
},
CircGlyphCinq/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \filldraw (-\tmp@circglyph@nivpt,\tmp@circglyph@nivpt) circle[radius={0.05\tmp@circglyph@hauteur@totale}] (\tmp@circglyph@nivpt,\tmp@circglyph@nivpt) circle[radius={0.05\tmp@circglyph@hauteur@totale}] ;
},
CircGlyphSix/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \filldraw (-\tmp@circglyph@nivpt,-\tmp@circglyph@nivpt) circle[radius={0.05\tmp@circglyph@hauteur@totale}] (\tmp@circglyph@nivpt,-\tmp@circglyph@nivpt) circle[radius={0.05\tmp@circglyph@hauteur@totale}] ;
},
CircGlyphSept/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \filldraw (-\tmp@circglyph@nivpt,\tmp@circglyph@nivpt) circle[radius={0.05\tmp@circglyph@hauteur@totale}] (-\tmp@circglyph@nivpt,-\tmp@circglyph@nivpt) circle[radius={0.05\tmp@circglyph@hauteur@totale}] ;
},
CircGlyphHuit/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \filldraw (\tmp@circglyph@nivpt,\tmp@circglyph@nivpt) circle[radius={0.05\tmp@circglyph@hauteur@totale}] (\tmp@circglyph@nivpt,-\tmp@circglyph@nivpt) circle[radius={0.05\tmp@circglyph@hauteur@totale}] ;
},
CircGlyphNeuf/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \filldraw (\tmp@circglyph@nivpt,\tmp@circglyph@nivpt) circle[radius={0.05\tmp@circglyph@hauteur@totale}] (\tmp@circglyph@nivpt,-\tmp@circglyph@nivpt) circle[radius={0.05\tmp@circglyph@hauteur@totale}] (-\tmp@circglyph@nivpt,\tmp@circglyph@nivpt) circle[radius={0.05\tmp@circglyph@hauteur@totale}] (-\tmp@circglyph@nivpt,-\tmp@circglyph@nivpt) circle[radius={0.05\tmp@circglyph@hauteur@totale}] ;
},
CircGlyphVirg/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \draw (-\tmp@circglyph@nivext,0)--(0,\tmp@circglyph@nivext) ;
},
CircGlyphPtVirg/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \draw (0,\tmp@circglyph@nivext)--(\tmp@circglyph@nivext,0) ;
},
CircGlyphPt/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \draw (\tmp@circglyph@nivext,0)--(0,-\tmp@circglyph@nivext) ;
},
CircGlyphPtInterr/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \draw (0,-\tmp@circglyph@nivext)--(-\tmp@circglyph@nivext,0) ;
},
CircGlyphPtExcl/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \draw (-\tmp@circglyph@nivext,0)--(0,\tmp@circglyph@nivext)--(\tmp@circglyph@nivext,0) ;
},
CircGlyphDeuxPts/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \draw (0,\tmp@circglyph@nivext)--(\tmp@circglyph@nivext,0)--(0,-\tmp@circglyph@nivext) ;
},
CircGlyphMoins/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \draw (\tmp@circglyph@nivext,0)--(0,-\tmp@circglyph@nivext)--(-\tmp@circglyph@nivext,0) ;
},
CircGlyphApos/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \draw (0,-\tmp@circglyph@nivext)--(-\tmp@circglyph@nivext,0)--(0,\tmp@circglyph@nivext) ;
},
CircGlyphPlus/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \draw (-\tmp@circglyph@nivext,0)--(0,\tmp@circglyph@nivext)--(\tmp@circglyph@nivext,0)--(0,-\tmp@circglyph@nivext) ;
},
CircGlyphStar/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \draw (0,\tmp@circglyph@nivext)--(\tmp@circglyph@nivext,0)--(0,-\tmp@circglyph@nivext)--(-\tmp@circglyph@nivext,0) ;
},
CircGlyphParG/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \draw (\tmp@circglyph@nivext,0)--(0,-\tmp@circglyph@nivext)--(-\tmp@circglyph@nivext,0)--(0,\tmp@circglyph@nivext) ;
},
CircGlyphParD/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \draw (0,-\tmp@circglyph@nivext)--(-\tmp@circglyph@nivext,0)--(0,\tmp@circglyph@nivext)--(\tmp@circglyph@nivext,0) ;
},
CircGlyphEgal/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \draw (0,-\tmp@circglyph@nivext)--(-\tmp@circglyph@nivext,0)--(0,\tmp@circglyph@nivext)--(\tmp@circglyph@nivext,0)--cycle ;
},
CircGlyphSlash/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \draw (0,-\tmp@circglyph@nivext)--(-\tmp@circglyph@nivext,0)--(0,\tmp@circglyph@nivext)--(\tmp@circglyph@nivext,0)--cycle ; \draw (-\tmp@circglyph@nivint,0)--(0,\tmp@circglyph@nivint) ;
},
CircGlyphInf/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \draw (0,-\tmp@circglyph@nivext)--(-\tmp@circglyph@nivext,0)--(0,\tmp@circglyph@nivext)--(\tmp@circglyph@nivext,0)--cycle ; \draw (0,\tmp@circglyph@nivint)--(\tmp@circglyph@nivint,0) ;
},
CircGlyphSup/.pic = {
\draw (0,-0.5)--++(0,1) ; \draw (-0.5,0)--++(1,0) ; \draw (0,-\tmp@circglyph@nivext)--(-\tmp@circglyph@nivext,0)--(0,\tmp@circglyph@nivext)--(\tmp@circglyph@nivext,0)--cycle ; \draw (\tmp@circglyph@nivint,0)--(0,-\tmp@circglyph@nivint) ;
},
CircGlyph/.style={x=\tmp@circglyph@hauteur@totale,y=\tmp@circglyph@hauteur@totale,line width={0.066\tmp@circglyph@hauteur@totale}
}
}
%====MACROCRÉATION
%\ifpdftex
%gestion des caractères actifs
\NewDocumentCommand\GenereCircGlyp{ }{%
\begingroup
\catcode`\;=12
\catcode`\:=12
\catcode`\!=12
\catcode`\?=12
\GenereCircGlypAux
}
\NewDocumentCommand\GenereCircGlypAux{ m m }{%1=lettre,2=pictikz
\endgroup
\IfEq{\TmpCaract}{#1}%
{%
\raisebox{-\tmp@circglyph@profondeur}{%
\begin{tikzpicture}[CircGlyph,\circularglyphcolor]\clip (-0.5,-0.5) rectangle (0.5,0.5) ; \pic at (0,0) {#2} ;\end{tikzpicture}%
}%
}{}%
}
\NewDocumentCommand\CircGlyphChar{ }{%
\begingroup
\catcode`\;=12
\catcode`\:=12
\catcode`\!=12
\catcode`\?=12
\CircGlyphCharAux
}
\NewDocumentCommand\CircGlyphCharAux{ m }{%1=lettre avec taille gérée par une macro supérieure
\endgroup
%les caractères min/MAJ
\GenereCircGlyp{a}{CircGlyphA}%
\GenereCircGlyp{b}{CircGlyphB}%
\GenereCircGlyp{c}{CircGlyphC}%
\GenereCircGlyp{d}{CircGlyphD}%
\GenereCircGlyp{e}{CircGlyphE}%
\GenereCircGlyp{f}{CircGlyphF}%
\GenereCircGlyp{g}{CircGlyphG}%
\GenereCircGlyp{h}{CircGlyphH}%
\GenereCircGlyp{i}{CircGlyphI}%
\GenereCircGlyp{j}{CircGlyphJ}%
\GenereCircGlyp{k}{CircGlyphK}%
\GenereCircGlyp{l}{CircGlyphL}%
\GenereCircGlyp{m}{CircGlyphM}%
\GenereCircGlyp{n}{CircGlyphN}%
\GenereCircGlyp{o}{CircGlyphO}%
\GenereCircGlyp{p}{CircGlyphP}%
\GenereCircGlyp{q}{CircGlyphQ}%
\GenereCircGlyp{r}{CircGlyphR}%
\GenereCircGlyp{s}{CircGlyphS}%
\GenereCircGlyp{t}{CircGlyphT}%
\GenereCircGlyp{u}{CircGlyphU}%
\GenereCircGlyp{v}{CircGlyphV}%
\GenereCircGlyp{w}{CircGlyphW}%
\GenereCircGlyp{x}{CircGlyphX}%
\GenereCircGlyp{y}{CircGlyphY}%
\GenereCircGlyp{z}{CircGlyphZ}%
\GenereCircGlyp{A}{CircGlyphA}%
\GenereCircGlyp{B}{CircGlyphB}%
\GenereCircGlyp{C}{CircGlyphC}%
\GenereCircGlyp{D}{CircGlyphD}%
\GenereCircGlyp{E}{CircGlyphE}%
\GenereCircGlyp{F}{CircGlyphF}%
\GenereCircGlyp{G}{CircGlyphG}%
\GenereCircGlyp{H}{CircGlyphH}%
\GenereCircGlyp{I}{CircGlyphI}%
\GenereCircGlyp{J}{CircGlyphJ}%
\GenereCircGlyp{K}{CircGlyphK}%
\GenereCircGlyp{L}{CircGlyphL}%
\GenereCircGlyp{M}{CircGlyphM}%
\GenereCircGlyp{N}{CircGlyphN}%
\GenereCircGlyp{O}{CircGlyphO}%
\GenereCircGlyp{P}{CircGlyphP}%
\GenereCircGlyp{Q}{CircGlyphQ}%
\GenereCircGlyp{R}{CircGlyphR}%
\GenereCircGlyp{S}{CircGlyphS}%
\GenereCircGlyp{T}{CircGlyphT}%
\GenereCircGlyp{U}{CircGlyphU}%
\GenereCircGlyp{V}{CircGlyphV}%
\GenereCircGlyp{W}{CircGlyphW}%
\GenereCircGlyp{X}{CircGlyphX}%
\GenereCircGlyp{Y}{CircGlyphY}%
\GenereCircGlyp{Z}{CircGlyphZ}%
%les chiffres
\GenereCircGlyp{0}{CircGlyphZero}%
\GenereCircGlyp{1}{CircGlyphUn}%
\GenereCircGlyp{2}{CircGlyphDeux}%
\GenereCircGlyp{3}{CircGlyphTrois}%
\GenereCircGlyp{4}{CircGlyphQuatre}%
\GenereCircGlyp{5}{CircGlyphCinq}%
\GenereCircGlyp{6}{CircGlyphSix}%
\GenereCircGlyp{7}{CircGlyphSept}%
\GenereCircGlyp{8}{CircGlyphHuit}%
\GenereCircGlyp{9}{CircGlyphNeuf}%
\GenereCircGlyp{ }{CircGlyphNull}%
%la ponctuation en fonction de [Ext]
\ifboolKV[circularglyph]{Ext}%
{%
\GenereCircGlyp{,}{CircGlyphVirg}%
\GenereCircGlyp{;}{CircGlyphPtVirg}%
\GenereCircGlyp{.}{CircGlyphPt}%
\GenereCircGlyp{?}{CircGlyphPtInterr}%
\GenereCircGlyp{!}{CircGlyphPtExcl}%
\GenereCircGlyp{:}{CircGlyphDeuxPts}%
\GenereCircGlyp{-}{CircGlyphMoins}%
\GenereCircGlyp{'}{CircGlyphApos}%
\GenereCircGlyp{+}{CircGlyphPlus}%
\GenereCircGlyp{*}{CircGlyphStar}%
\GenereCircGlyp{(}{CircGlyphParG}%
\GenereCircGlyp{)}{CircGlyphParD}%
\GenereCircGlyp{=}{CircGlyphEgal}%
\GenereCircGlyp{/}{CircGlyphSlash}%
\GenereCircGlyp{<}{CircGlyphInf}%
\GenereCircGlyp{>}{CircGlyphSup}%
}%
{%
\GenereCircGlyp{'}{CircGlyphNull}%
\GenereCircGlyp{-}{CircGlyphNull}%
}%
}
\NewDocumentCommand\CircGlyph{ }{%
\begingroup
\catcode`\;=12
\catcode`\:=12
\catcode`\!=12
\catcode`\?=12
\CircGlyphAux
}
\NewDocumentCommand\CircGlyphAux{ O{} m }{%
\endgroup
\useKVdefault[circularglyph]%
\setKV[circularglyph]{#1}%
%gestion des caractères spéciaux
\def\tmpphrase{#2}%
\StrSubstitute{\tmpphrase}{À}{A}[\tmpphrase]%
\StrSubstitute{\tmpphrase}{à}{a}[\tmpphrase]%
\StrSubstitute{\tmpphrase}{Â}{A}[\tmpphrase]%
\StrSubstitute{\tmpphrase}{â}{a}[\tmpphrase]%
\StrSubstitute{\tmpphrase}{Ä}{A}[\tmpphrase]%
\StrSubstitute{\tmpphrase}{ä}{a}[\tmpphrase]%
\StrSubstitute{\tmpphrase}{é}{e}[\tmpphrase]%
\StrSubstitute{\tmpphrase}{É}{E}[\tmpphrase]%
\StrSubstitute{\tmpphrase}{è}{e}[\tmpphrase]%
\StrSubstitute{\tmpphrase}{Ê}{E}[\tmpphrase]%
\StrSubstitute{\tmpphrase}{ê}{e}[\tmpphrase]%
\StrSubstitute{\tmpphrase}{Ê}{E}[\tmpphrase]%
\StrSubstitute{\tmpphrase}{ë}{e}[\tmpphrase]%
\StrSubstitute{\tmpphrase}{Ë}{E}[\tmpphrase]%
\StrSubstitute{\tmpphrase}{ï}{i}[\tmpphrase]%
\StrSubstitute{\tmpphrase}{Ï}{I}[\tmpphrase]%
\StrSubstitute{\tmpphrase}{î}{i}[\tmpphrase]%
\StrSubstitute{\tmpphrase}{Î}{I}[\tmpphrase]%
\StrSubstitute{\tmpphrase}{ô}{o}[\tmpphrase]%
\StrSubstitute{\tmpphrase}{Ô}{O}[\tmpphrase]%
\StrSubstitute{\tmpphrase}{ö}{o}[\tmpphrase]%
\StrSubstitute{\tmpphrase}{Ö}{O}[\tmpphrase]%
\StrSubstitute{\tmpphrase}{ù}{u}[\tmpphrase]%
\StrSubstitute{\tmpphrase}{Ù}{U}[\tmpphrase]%
\StrSubstitute{\tmpphrase}{û}{u}[\tmpphrase]%
\StrSubstitute{\tmpphrase}{Û}{U}[\tmpphrase]%
\StrSubstitute{\tmpphrase}{ü}{u}[\tmpphrase]%
\StrSubstitute{\tmpphrase}{Ü}{U}[\tmpphrase]%
\StrSubstitute{\tmpphrase}{ÿ}{y}[\tmpphrase]%
\StrSubstitute{\tmpphrase}{Ÿ}{Y}[\tmpphrase]%
\StrSubstitute{\tmpphrase}{ç}{c}[\tmpphrase]%
\StrSubstitute{\tmpphrase}{Ç}{C}[\tmpphrase]%
\StrSubstitute{\tmpphrase}{œ}{oe}[\tmpphrase]%
\StrSubstitute{\tmpphrase}{Œ}{OE}[\tmpphrase]%
%dimensions
\settototalheight{\tmp@circglyph@hauteur@totale}{\hbox{azertyuiopqsdfghjklmwxcvbnAZERTYUIOPQSDFGHJKLMWXCVBN}}%
\settodepth{\tmp@circglyph@profondeur}{\hbox{azertyuiopqsdfghjklmwxcvbnAZERTYUIOPQSDFGHJKLMWXCVBN}}%
%créationdesglyphes
\StrLen{\tmpphrase}[\NbCaract]%
\ifboolKV[circularglyph]{Inline}%
{%
{\foreach \poslet in {1,...,\NbCaract}{{\StrChar{\tmpphrase}{\poslet}[\TmpCaract]\CircGlyphChar{\TmpCaract}}\hspace{0pt}}}%
}%
{%
{%
\offinterlineskip{\foreach \poslet in {1,...,\NbCaract}{{\StrChar{\tmpphrase}{\poslet}[\TmpCaract]\CircGlyphChar{\TmpCaract}}\hspace{0pt}}}\par%
}%
}%
%{\IfBooleanF{#1}{\offinterlineskip}\StrLen{\tmpphrase}[\NbCaract]{\foreach \poslet in {1,...,\NbCaract}{{\StrChar{\tmpphrase}{\poslet}[\TmpCaract]\CircGlyphChar{\TmpCaract}}\hspace{0pt}}}\IfBooleanF{#1}{\par}}%
}
\endinput
|