JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Aperçu des polices de caractères Dim 3 Déc 2017 - 22:59 | |
| - Code:
-
LABEL nx,Aff,Af1,Afpol,Cark DIM i%,j%,a$,b$,ll%,n%,x%,y%,w1%,w2%,sz%,eh%,si$(25),nsi%,sy$(25),nsy%,sc$(25),nsc% DIM wc%,hr%,sz1%,fn$ WIDTH 0,400 HEIGHT 0,1170: BORDER_SMALL 0: color 0,164,255,255 CAPTION 0," - POLICES DE CARACTERES -" DLIST 1 DLIST 2: ' Polices courantes DLIST 3: ' Polices symboles DLIST 4: ' Polices script
BUTTON 7: LEFT 7,5: CAPTION 7,"Standard" BUTTON 8: LEFT 8,LEFT(7)+100: CAPTION 8,"Symboles" BUTTON 9: LEFT 9,LEFT(8)+100: CAPTION 9,"Script" FOR i% = 7 TO 9: ON_CLICK i%,Aff: NEXT i%
PICTURE 10: TOP 10,25
FORM 20: HIDE 20: BORDER_SMALL 20: COLOR 20,180,200,230 PICTURE 21: PARENT 21,20 ALPHA 22: PARENT 22,20: LEFT 22,10: COLOR 22,255,255,0: FONT_SIZE 22,11 ALPHA 23: PARENT 23,20: TOP 23,TOP(22): LEFT 23,280: COLOR 23,255,255,0: FONT_SIZE 23,12 CAPTION 23,"(clic un caractère)" ALPHA 24: PARENT 24,20: TOP 24,0: LEFT 24,LEFT(23)+140: COLOR 24,255,255,196 FONT_SIZE 24,16: FONT_COLOR 24,128,0,0 sz1% = 16: wc% = 30: hr% = 30 TOP 21,20: WIDTH 21,wc%*16: HEIGHT 21,hr%*16: ON_CLICK 21,Cark i% = WIDTH(20)-WIDTH_CLIENT(20): j% = HEIGHT(20)-HEIGHT_CLIENT(20) WIDTH 20,WIDTH(21)+i%: HEIGHT 20,HEIGHT(21)+j%+20 ' Polices inutiles (arbitraire...) DATA "Cambria Math","DejaVu Math TeX Gyre","My Font","Andale Mono IPA","F" nsi%=0: READ a$: WHILE a$<>"F": nsi%=nsi%+1: si$(nsi%)=a$: READ a$: END_WHILE ' Polices symboles DATA "Bookdings","db7Segments","Marlett","MS Reference 1","MS Reference 2" DATA "MS Reference Specialty","MT Extra","Webdings","Wingdings","Wingdings 2" DATA "Wingdings 3","F" nsy%=0: READ a$: WHILE a$<>"F": nsy%=nsy%+1: sy$(nsy%)=a$: READ a$: END_WHILE ' Polices script DATA "Blackadder ITC","Bradley Hand ITC","Caladea","Candice","ColdSpaghetti BTN" DATA "Curlz MT","Edwardian Script ITC","Embassy BT","English157 BT","Freehand575 BT" DATA "French Script MT","Gabriola","Heather BTN","Mistral","MV Boli","Script" DATA "Segoe Print","Segoe Script","Smarty Pants BTN","Vijaya","Vivaldi","F" nsc%=0: READ a$: WHILE a$<>"F": nsc%=nsc%+1: sc$(nsc%)=a$: READ a$: END_WHILE
FONT_NAMES_LOAD 1 FOR i% = 1 TO COUNT(1) a$ = ITEM_READ$(1,i%) IF LEFT$(a$,1)="@" OR LEFT$(a$,3) = "WP " THEN GOTO nx: ' police ignorée FOR j% = 1 TO nsi% IF a$ = si$(j%) THEN GOTO nx: ' police ignorée NEXT j% FOR j% = 1 TO nsy% IF a$ = sy$(j%) THEN ITEM_ADD 3,a$: GOTO nx: ' police symbole NEXT j% FOR j% = 1 TO nsc% IF a$ = sc$(j%) THEN ITEM_ADD 4,a$: GOTO nx: ' police script NEXT j% ITEM_ADD 2,a$: ' police courante nx: NEXT i%
w1% = 195: w2% = 250 WIDTH 10,w1%+w2%: WIDTH 0,WIDTH(10)+35 sz% = 10: eh% = 16 HEIGHT 10,eh%*COUNT(2)+3*eh%: PRINT_TARGET_IS 10: FONT_SIZE 10,sz% height 0,height(10)+90 ON_CLICK 10,Afpol ll% = 2: GOSUB Af1 END ' ============================================================================== Aff: i% = NUMBER_CLICK SELECT i% CASE 7: ll% = 2 CASE 8: ll% = 3 CASE 9: ll% = 4 END_SELECT Af1: 2D_TARGET_IS 10: CLS: PRINT_TARGET_IS 10 y% = 0 FOR i% = 1 TO COUNT(ll%) a$ = ITEM_READ$(ll%,i%) FONT_NAME 10,"System" PRINT_LOCATE 0,y%: PRINT a$ FONT_NAME 10,a$: b$ = "" IF TEXT_WIDTH("iiiii",10) = TEXT_WIDTH("mmmmm",10) THEN b$ = " (F)" PRINT_LOCATE w1%,y%: PRINT "12345 Au clair de la lune"+b$ y% = y%+eh% NEXT i% RETURN ' ============================================================================== Afpol: y% = MOUSE_Y_LEFT_DOWN(10) i% = 1+INT(y%/eh%): IF i% > COUNT(ll%) THEN RETURN fn$ = ITEM_READ$(ll%,i%) PRINT_TARGET_IS 21: 2D_TARGET_IS 21: CLS FONT_NAME 21,fn$: FONT_SIZE 21,sz1% y% = 5 FOR j% = 0 TO 15 2D_LINE 0,y%-5,WIDTH(21),y%-5 x% = 5 FOR i% = 0 TO 15 PRINT_LOCATE x%,y%: PRINT CHR$(j%*16+i%): x% = x%+wc% NEXT i% y% = y%+hr% NEXT j% FOR x% = 0 TO WIDTH(21) STEP wc%: 2D_LINE x%,0,x%,HEIGHT(21): NEXT x% CAPTION 22," "+fn$+" taille "+STR$(sz1%)+" ": CAPTION 23,"(clic un caractère)" CAPTION 24,"" SHOW 20: TO_FOREGROUND 20 RETURN ' ============================================================================== Cark: x% = MOUSE_X_LEFT_DOWN(21): y% = MOUSE_Y_LEFT_DOWN(21) x% = INT(x%/wc%): y% = INT(y%/hr%): i% = 16*y%+x%: ' caractère cliqué CAPTION 23," Car. "+STR$(i%)+" (="+RIGHT$("0"+HEX$(i%),2)+" h) : " FONT_NAME 24,fn$: CAPTION 24," "+CHR$(i%)+" " RETURN ' ============================================================================== Pour voir à quoi ressemble une police de caractères donnée. Il y a trois listes à afficher (c'est un découpage arbitraire, à revoir éventuellement): - les polices 'normales' - les polices 'symboles' - les polices 'script' Les polices dites 'normales' sont celles qui restent quand on a enlevé les polices symboles et script (listées dans des datas), et quelques polices considérées arbitrairement comme inutilisables (également listées en datas). Chaque nom de police dans sa liste est suivie d'un petit exemple (suivi de la lettre 'F' si c'est une police à pas fixe). Cliquer sur ce nom pour avoir le tableau de ses 256 caractères, puis sur un caractère du tableau pour avoir son code Ascii en décimal et hexadécimal. C'est léger et certainement perfectible, mais sans prétention ! | |
|
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Aperçu des polices de caractères Lun 4 Déc 2017 - 14:25 | |
| Bis repetita placent... Tu peux pas comprendre, c'est du latin. C'est vrai que grace à toi (à cause de toi ) je me rends compte que j'ai déjà codé à peu près la même chose, mais je ne m'en souvenais même plus (comme quoi mon utilitaire ne m'était pas utile à grand chose, et comme j'en eu besoin, eh bien je l'ai recodé, voilà ! Et finalement, il me semble que la version que tu as cité était mieux que celle-ci... Et mieux encore, j'ai une 3ème version qui est celle que j'utilise couramment, en exécutable sur mon bureau, bien plus complète (on peut faire varier les couleurs de fond et de caractères de l'exemple, la taille, les enrichissements, etc. et d'autres possibilités | |
|
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Aperçu des polices de caractères Lun 4 Déc 2017 - 20:35 | |
| Merci Jean Claude pour le lien, j'avais oublié, et tu as raison, tout est dit et il n'y a rien à y ajouter... J'en ai même retranché un petit peu, après essais la figure ci-dessus ne tenait pas sur un écran de portable de hauteur 768 pixels. Si ça intéresse quelqu'un je remettrai le code. | |
|