on *:start:{ if (%d == $null) { msn.updatefonts | font.ver } echo -a Escribe /font.ver para ver las fuentes echo -a Visor de Fuentes por Anthrax } menu * { Ver Visor de Fuentes:/font.ver Hablar con Fuentes .$iif(%qprot == si,$style(1)) Anti -q: { if (%qprot == si) { set %hablar.f no | halt } if (%qprot == no) { set %hablar.f si | halt } } on *:input:#: { if (/* !iswm $1) { echo $color(own) -ti10 $chan < $+ $nick $+ > $1- privmsg $chan $iif(%hablar.f == si,$font($1-),$1-) halt } } alias msn.ndll { return $dll(dlls/nHTMLn.dll,$$1,$2) } alias font.ver { dialog -mdo font font } dialog font { title "Visor De Fuentes" size -1 -1 240 82 option dbu combo 2, 6 13 50 111, drop combo 3, 61 13 93 78, drop text "Color", 5, 6 2 34 8, center text "Tipo De Fuente", 6, 74 3 58 8, center combo 7, 159 13 76 71, drop text "Estilo De Escritura", 8, 159 3 57 8, center button "Cerrar", 1, 166 67 48 12, ok box "bla", 10, 7 35 226 24 box "Vista Previa", 11, 5 29 230 35 } on *:Dialog:font:init:0:{ did -a $dname 2 Negro did -a $dname 2 Blanco did -a $dname 2 Azul Oscuro did -a $dname 2 Verde Oscuro did -a $dname 2 Rojo did -a $dname 2 Rojo Oscuro did -a $dname 2 Purpura did -a $dname 2 Amarillo Oscuro did -a $dname 2 Amarillo did -a $dname 2 Verde did -a $dname 2 Verde Oscuro did -a $dname 2 Fucsia did -a $dname 2 Azul did -a $dname 2 Rosado did -a $dname 2 Plomo Oscuro did -a $dname 2 Plomo Claro did -c $dname 2 1 did -a $dname 7 Normal did -a $dname 7 Negrita did -a $dname 7 Italica did -a $dname 7 Subrayada did -a $dname 7 Negrita + Italica did -a $dname 7 Negrita + Subrayada did -a $dname 7 Italica + Subrayada did -a $dname 7 Negrita + Italica + Subrayada did -c $dname 7 1 var %l 1, %d did -a $dname, %c did -c $dname while ($hget(msn.fonts,%l) != $null) { %d 3 $hget(msn.fonts,%l) inc %l did -c $dname 3 1 } var %s $msn.ndll(attach,$msn.ndll(find,bla)) did -r $dname 10 msn.genprev $dname 10 did -b $dname 10 } on *:Dialog:font:sclick:2:{ if ($Did(2).sel == 1) { .set %fcolor  } if ($Did(2).sel == 2) { .set %fcolor  } if ($Did(2).sel == 3) { .set %fcolor  } if ($Did(2).sel == 4) { .set %fcolor  } if ($Did(2).sel == 5) { .set %fcolor e } if ($Did(2).sel == 6) { .set %fcolor  } if ($Did(2).sel == 7) { .set %fcolor  } if ($Did(2).sel == 8) { .set %fcolor  } if ($Did(2).sel == 9) { .set %fcolor  } if ($Did(2).sel == 10) { .set %fcolor f } if ($Did(2).sel == 11) { .set %fcolor  } if ($Did(2).sel == 12) { .set %fcolor  } if ($Did(2).sel == 13) { .set %fcolor \r } if ($Did(2).sel == 14) { .set %fcolor  } if ($Did(2).sel == 15) { .set %fcolor \n } if ($Did(2).sel == 16) { .set %fcolor } msn.genprev $dname 10 } on *:Dialog:font:sclick:3:{ .set %ftipo $did(3).seltext $+ ; $+ 0 $+ $chr(32) msn.genprev $dname 10 } on *:Dialog:font:sclick:4:{ var %l 1, %d did -a $dname, %c did -c $dname while ($hget(msn.fonts,%l) != $null) { %d 3 $hget(msn.fonts,%l) inc %l } } on *:DIALOG:font:sclick:7: { if ($did(7).sel == 1) { .set %estilo  } if ($did(7).sel == 2) { .set %estilo  } if ($did(7).sel == 3) { .set %estilo  } if ($did(7).sel == 4) { .set %estilo  } if ($did(7).sel == 5) { .set %estilo  } if ($did(7).sel == 6) { .set %estilo  } if ($did(7).sel == 7) { .set %estilo  } if ($did(7).sel == 8) { .set %estilo  } msn.genprev $dname 10 } ;Fueron Sacados De La Vincula alias msn.genprev { var %s, %c = $rgb($gettok(0 0 8388608 32768 255 128 8388736 32896 65535 65280 8421376 16776960 16711680 16711935 8421504 12632256,$did(2).sel,32)) var %r = $base($gettok(%c,1,44),10,16,2), %g = $base($gettok(%c,2,44),10,16,2), %b = $base($gettok(%c,3,44),10,16,2), %c = %r $+ %g $+ %b %s = $+(@) if ($did(7).sel == 2) %s = $replace(%s,@,@) if ($did(7).sel == 3) %s = $replace(%s,@,@) if ($did(7).sel == 4) %s = $replace(%s,@,@) if ($did(7).sel == 5) %s = $replace(%s,@,@) if ($did(7).sel == 6) %s = $replace(%s,@,@) if ($did(7).sel == 7) %s = $replace(%s,@,@) if ($did(7).sel == 8) %s = $replace(%s,@,@) %s = $replace(%s,@,Anthrax Konex Font Viewer) write -c $+(",$mircdir,vprevgen.html") $+(,%s,) %s = $msn.ndll(select,$msn.ndll(find,bla)) %s = $msn.ndll(navigate,$mircdir $+ vprevgen.html) .timerdelprevgen 1 2 .remove $+(",$mircdir,vprevgen.html") } alias font { return  $+ S $+ $chr(32) $+ %fcolor $+ %estilo $+ $replace(%ftipo,$chr(32),\b) $+ $chr(32) $+ $1- $+  } alias msn.updatefonts { if (!$isdir(%d)) %d = " $+ $$sdir(C:\,Busca la Carpeta Con las Fuentes $chr(40) $+ Por Defecto C:\Windows\Fonts $+ $chr(41)) $+ " if (!$isdir(%d)) { echo -ta * Error: No se encontraron las fuentes en la carpeta %d return } if ($exists($scriptdir $+ fonts.dat)) { goto siguiente } echo -ta * Buscando Fuentes en %d $+ , Esperar.... | set %fontdir %d if ($hget(msn.fonts)) hfree msn.fonts hmake msn.fonts 30 %msnf.fontnum = 1 var %x $findfile(%d,*.ttf,0,msn.upfont " $+ $1- $+ ") hsave -o msn.fonts $+(",$scriptdir,fonts.dat") | echo -ta * Se encontraron %x Tipos de Fuentes. unset %msnf.fontnum :siguiente hload msn.fonts fonts.dat if ($1) { var %l 1 did -r $1 20 while ($hget(msn.fonts,%l) != $null) { did -a $1 20 $hget(msn.fonts,%l) inc %l } } } alias msn.upfont { var %x $msn.truetype($1-).name if ((%x != $null) && ($hmatch(msn.fonts,%x,0).data == 0)) { hadd msn.fonts %msnf.fontnum %x inc %msnf.fontnum } } alias msn.truetype { if (!$isfile($1)) { return } var %fn = $iif(("*" iswm $1), $1, $+(", $1, ")), %ntables, %i = 1, %p, %namepos, %namelen, %nid = 1 if ($findtok(copyright family subfamily id fullname version postscript trademark manufacturer designer - urlvendor urldesigner, $prop, 32)) { %nid = $calc($ifmatch - 1) } bread %fn 0 8192 &font if ($bvar(&font, 1, 4) != 0 1 0 0) { return } %ntables = $bvar(&font, 5).nword while (%i <= %ntables) { %p = $calc(13 + (%i - 1) * 16) if (%p > 8192) { return } if ($bvar(&font, %p, 4).text === name) { %namepos = $bvar(&font, $calc(%p + 8)).nlong | %namelen = $bvar(&font, $calc(%p + 12)).nlong | break } inc %i } if (!%namepos) { return } if (%namelen > 8192) { %namelen = 8192 } bread %fn %namepos %namelen &font var %nrecs = $bvar(&font, 3).nword, %storepos = $calc(%namepos + $bvar(&font, 5).nword), %i = 1 while (%i <= %nrecs) { %p = $calc(7 + (%i - 1) * 12) if ($bvar(&font, %p).nword = 3) && ($bvar(&font, $calc(%p + 6)).nword = %nid) { var %len = $bvar(&font, $calc(%p + 8)).nword, %peid = $bvar(&font, $calc(%p + 2)).nword bread %fn $calc(%storepos + $bvar(&font, $calc(%p + 10)).nword) %len &font return $msn.uni2ansi($bvar(&font, 1, %len)) } inc %i } } alias msn.uni2ansi { var %unicode = $1, %i = 1, %t = $numtok(%unicode, 32), %s = i, %c while (%i <= %t) { %c = $gettok(%unicode, $+(%i, -, $calc(%i + 2)), 32) if ($gettok(%c, 1, 32) = 0) { %c = $chr($gettok(%c, 2, 32)) } else { %c = ? } %s = $left(%s, -1) $+ %c $+ i inc %i 2 } return $left(%s, -1) }