[RUBY] Proyecto sin finalizar Art ASCII Factory ¿Alguien me toma el relevo?

Iniciado por Eleкtro, 24 Mayo 2012, 18:59 PM

0 Miembros y 1 Visitante están viendo este tema.

Eleкtro

Hola,

Esto es un proyecto que por tiempo y esfuerzo no creo que vaya a finalizar... Espero que alguien pueda hacerlo por mi, O hecharme una mano , ¿Como? Pues agregando estilos de letras (Con sus respectivas posiciones ya puestas en el code...), Enviandomelas por mp, No se, O que me tome el relevo si a alguien le parece un proyecto interesante...

De momento solo hay 10(Y medio) estilos de letras incluidos, En la versión sin GUI. Y la idea es sobrepasar los 50 estilos, Pero he necesitado muchas horas para incluir solamente 10 estilos, Buf!.
Me da mucha pena, Porque la versión con GUI de TK quedaría genial, Pero no tengo los suficientes conocimientos sobre TK para poder hacer el code correctamente...

La página de donde saco los estilos de letra es esta:
http://patorjk.com/software/taag/

Y aquí hay bastantes también:
http://www.network-science.de/ascii/

Si, Ya, Muchos pensarán que se puede hacer por web (Desde el script), Pero y que pasa cuando esas webs se mueran??? Jeje quise recopilarlo en un programa, Que nunca muere :).

Bueno, Eso es todo... Haced lo que os de la gana con estos codes xD.

Gracias y saludos!.
Elektro H.




La versión TK (No tiene ningun estilo agregado por el momento...) Solo es para probar el diseño.



Código (ruby) [Seleccionar]
require 'tk'
require 'tkextlib/tile'

root = TkRoot.new {title "Art ASCII Factory Test"}

Tk::Tile::Label.new(root) {padding "0 0 1 10"}.grid( :sticky => 'nsew')

Tk::Tile::Entry.new(root) {width 30}.grid( :column => 0, :row => 0, :sticky => 'w' )

Tk::Tile::Button.new(root) {text "ASCIIZE"; command "submitForm"}.grid( :column => 1, :row => 0, :sticky => 'wn' )

$names = %w{ estilo1 estilo2 estilo3 }
$colornames = TkVariable.new($names)

list = TkListbox.new(root) do
 listvariable $colornames
 pack('fill' => 'x')
end

list.place('height' => 150,
          'width'  => 100,
          'x'      => 10,
          'y'      => 100)

scroll = TkScrollbar.new(root) do
   orient 'vertical'
   place('height' => 150, 'x' => 110, 'y' => 100)
end

list.yscrollcommand(proc { |*args|
 scroll.set(*args)
})

scroll.command(proc { |*args|
 list.yview(*args)
})

text = TkText.new(root) do
 width 100
 height 30
 borderwidth 1
 font TkFont.new("family" => 'Lucida Console', "size" => 10)
  pack("side" => "right",  "padx"=> "5", "pady"=> "5")
  grid( :column => 1, :row => 1, :sticky => 'en' )
end

text.insert 'end', "
######## ########  ######  ########
  ##    ##       ##    ##    ##    
  ##    ##       ##          ##    
  ##    ######    ######     ##    
  ##    ##             ##    ##    
  ##    ##       ##    ##    ##    
  ##    ########  ######     ##    
"

Tk.mainloop





La versión sin gui



El script entero aquí: http://pastebin.com/MVnhRi2a


(En este post no cabe el script entero, esto es solo un poco de lo que contiene el script)
Código (ruby) [Seleccionar]

# ... más código arriba
# encoding:utf-8

system('mode con cols=190 lines=30')

threexfive = '
   #         #      ##     #    #   #  #    #                               #                           #  ##   ## ##  ### ###  ## # # ###  ## # # #   # # ###  #  ##   #  ##   ## ### # # # # # # # # # # ###   # #                            #   ## ##   ## ##    #      #  # #  ## # #  #    #   # #       ### #    #  ### # #   # #    #  ###  #  ### ### # # ### ### ### ### ###
## ### ### ### ###  #  ### ###         # #  #  ### ##  ### ### ### ###  ## ### # # # # # # # # # # ##  # # # # #   # # #   #   #   # #  #    # # # #   ### # # # # # # # # # # #    #  # # # # # # # # # #   #  #   #   #       #              # #  #   #   #   #   #   #   #  # # ##    # #     #  #   #  ###   # #    #  # # ### ###  #  ### # # ##    #   # # # #   #     # # # # #
# # # # #   # # ##  ### # # # #  #   #  ##   #  ### # # # # # # # # #    #   #  # # # # ###  #  ###  #  ### ##  #   # # ##  ##  # # ###  #    # ##  #   ### # # # # ##  # # ##   #   #  # # # # ###  #   #   #  #     #                 ###          #   #  ##   ## #   ###  #      ###  #   ##  #   #   #       ##  #   #  #   # # #     #  #  # #  #  ###  ## ### ### ###   # ### ###
### ### ### ### ###  #   ## # #  ##  #  # #  ## # # # # ### ### ### #   ##   ## ###  #  ### # #   #  ## # # # # #   # # #   #   # # # #  #  # # # # #   # # # # # # #    ## # #   #  #  # # # # ### # #  #  #    #   #   #   #   #                   #   #   #   #       #           ## #   # # #    #   #  ###       #  #  ### ###         ### # #  #  #     #   #   # # #   # # #   #
                   ##  ###         #                       #     #                             ###     # # ##   ## ##  ### #    ## # # ###  #  # # ### # # # #  #  #     # # # ##   #  ###  #  # # # #  #  ###   # #   #   #        #      ###      ## ##   ## ##           #      ##  # # ### #     # #        #    #  #      # #          #  ### ### ### ###   # ### ###   # ### ###
'
threexfive_chars = {
 :' ' => ' ',
 :a => 0..3, :b => 4..7, :c => 8..11, :d => 12..15, :e => 16..19, :f => 20..23, :g => 24..27, :h => 28..31, :i => 33..35, :j => 36..38, :k => 40..43, :l => 45..47, :m => 48..51, :n => 52..55, :o => 56..59, :p => 60..63, :q => 64..67, :r => 68..71, :s => 72..75, :t => 76..79, :u => 80..83, :v => 84..87, :w => 88..91, :x => 92..95, :y => 96..99, :z => 100..103,
 :A => 104..107, :B => 108..111, :C => 112..115, :D => 116..119, :E => 120..123, :F => 124..127, :G => 128..131, :H => 132..135, :I => 136..139, :J => 140..143, :K => 144..147, :L => 148..151, :M => 152..155, :N => 156..159, :O => 160..163, :P => 164..167, :Q => 168..171, :R => 172..175, :S => 176..179, :T => 180..183, :U => 184..187, :V => 188..191, :W => 192..195, :X => 196..199, :Y => 200..203, :Z => 204..207,
 :< => 208..211, :> => 212..215, :';' => 216..218, :',' => 220..222, :':' => 225..226, :'.' => 229..230, :- => 232..235, :_ => 236..239, :'^' => 240..243, :'[' => 245..247, :']' => 248..250, :'{' => 252..255, :'}' => 256..259, :'\'' => 260..261, :+ => 264..266, :'!' => 268..270, :'"' => 272..275, :'$' => 275..278, :% => 279..282, :& => 283..286, :/ => 287..290, :'(' => 293..294, :')' => 296..298, :'=' => 300..303, :'?' => 304..307, :'\\' => 308..311, :| => 313..314, :'@' => 316..319, :'#' => 320..323, :~ => 324..327, :` => 328..331, :* => 332..335,
 :'0' => 336..339, :'1' => 340..343, :'2' => 344..347, :'3' => 348..351, :'4' => 352..355, :'5' => 356..359, :'6' => 360..363, :'7' => 364..367, :'8' => 368..371, :'9' => 372..375

amcneko = "
                                                                                                                                                                                                                                                                                                                                                                                                 SSSSS .sSSSSs.    .sSSSSs.    SsSSs.    .sSSSSs.    .sSSSSSSs.  .sSSS s.    SSSSSSSSSs. .sSSSSs.    SSSSSSSSSs. .sSSSSs.    .sSSSSs.    
.sSSSSs.    .sSSSSs.    .sSSSSs.    .sSSSSs.    .sSSSSs.    .sSSSSs.    .sSSSSs.    .sSSS SSSSS SSSSS       SSSSS .sSSS  SSSSS  SSSSS       .sSSSsSS SSsSSSSS .sSSSs.  SSSSS .sSSSSs.    .sSSSSs.    .sSSSSs.     .sSSSSSSSs. .sSSSSSSSs. .sSSSSSSSSSSSSSs. .sSSS s.    .sSSS s.    .sSSS       s.    .sSSS SSSSS .sSSS SSSSS SSSSSSSSSs.                         .sSs.       .sSs.               S SSS S SSSSSSSs. SSSSSSSSSs.   SSSSs   `SSSS SSSs. `SSSS SSSSs SSSSS SSSs. SSSSS SSSS' SSSSSSSSSs. SSSSSSSSSSS SSSSS SSSs. SSSSS SSSs.
S SSSSSSSs. S SSSSSSSs. S SSSSSSSs. S SSSSSSSs. S SSSSSSSs. S SSSSSSSs. S SSSSSSSs. S SSS SSSSS S SSS       S SSS S SSS SSSSS   S SSS       S SSS  SSS  SSSSS S SSS SS SSSSS S SSSSSSSs. S SSSSSSSs. S SSSSSSSs.  S SSS SSSSS S SSS SSSS' SSSSS S SSS SSSSS S SSS SSSs. S SSS SSSs. S SSS       SSSs. S SSS SSSSS S SSS SSSSS SSSSSS SSS'                         S%%%S       S%%%S               S  SS `..SS SSSSS S SSS SSSSS   S SSS         SSSSS       S SSS S SSS SSSSS S SSS       S SSS SSSS'      S SSS  S SSS SSSSS S SSS SSSSS
S  SS SSSSS S  SS SSSS' S  SS SSSS' S  SS SSSSS S  SS SSSS' S  SS SSSS' S  SS SSSS' S  SS SSSSS S  SS       S  SS S  SS SSSSS   S  SS       S  SS   S   SSSSS S  SS  `sSSSSS S  SS SSSSS S  SS SSSSS S  SS SSSSS  S  SS SSSS' S  SS       SSSSS S  SS SSSSS S  SS SSSSS S  SS SSSSS S  SS       SSSSS S  SS SSSSS S  SS SSSSS     S  SS    .sS               Ss.  `:;:'       `:;:'               S;;;S       SSSSS S  SS SSSSS   S  SS   .sSSSsSSSS'   .sS S  SS S  SS SSSSS SSSSSsSSSs. S  SS           S  SS   S  SS SSSSS S  SS SSSSS
S..SSsSSSSS S..SSsSSSa. S..SS       S..SS SSSSS S..SS       S..SS       S..SS       S..SSsSSSSS S..SS       S..SS S..SSsSSSSS   S..SS       S..SS       SSSSS S..SS    SSSSS S..SS SSSSS S..SS SSSSS S..SS SSSSS  S..SSsSSSa. `SSSSsSSSa. `:S:' S..SS `:S:' S..SS SSSSS S..SS SSSSS S..SS       SSSSS `..SSsSSSs' `..SSsSSSS'    S..SS    SSSSsssssss sssssssSSSS                         sssssss S%%%S    .ssSSSSS S..SS\\SSSSS   S..SS   S..SS        SSSSsS..SS S..SSsSSSSS       SSSSS S...SsSSSa.    S..SS    `..SSsSSSs' `..SSsSSSSS
S:::S SSSSS S:::S SSSSS S:::S SSSSS S:::S SSSSS S:::SSSS    S:::SSSS    S:::S`sSSs. S:::S SSSSS S:::S       S:::S S:::S SSSSS   S:::S       S:::S       SSSSS S:::S    SSSSS S:::S SSSSS S:::SsSSSSS S:::S SSSSS  S:::S SSSSS .sSSS SSSSS       S:::S       S:::S SSSSS  S::S SSSS  S:::S       SSSSS s:::S SSSSs    S:::S      S:::S      `:;               ;:'                                  SSSSS    SSSSS;:' S:::S SSSSS   S:::S   S:::S SSSs.   `:; S:::S       SSSSS .sSSS SSSSS S:::S SSSSS   S:::S     s:::S SSSSs       SSSSS
S;;;S SSSSS S;;;S SSSSS S;;;S SSSSS S;;;S SSSSS S;;;S       S;;;S       S;;;S SSSSS S;;;S SSSSS S;;;S       S;;;S S;;;S  SSSSS  S;;;S       S;;;S       SSSSS S;;;S    SSSSS S;;;S SSSSS S;;;S       S;;;S SSSSS  S;;;S SSSSS S;;;S SSSSS       S;;;S       S;;;S SSSSS   S;S SSS   S;;;S   S   SSSSS S;;;S SSSSS    S;;;S     S;;;S                              .sSs. .sSs. .sSs. .sSs.         .sSs.    .sSs.    S;;;S SSSSS   S;;;S   S;;;S SSSSS       S;;;S       SSSSS S;;;S SSSSS S;;;S SSSSS  S;;;S      S;;;S SSSSS .sSSS SSSSS
S%%%S SSSSS S%%%S SSSSS S%%%S SSSSS S%%%S SSSS' S%%%S SSSSS S%%%S       S%%%S SSSSS S%%%S SSSSS S%%%S SSSSS S%%%S S%%%S  SSSSS  S%%%S SSSSS S%%%S       SSSSS S%%%S    SSSSS S%%%S SSSSS S%%%S       S%%%S SSSSS  S%%%S SSSSS S%%%S SSSSS       S%%%S       S%%%S SSSSS    SS SS    S%%%S  SSS  SSSSS S%%%S SSSSS    S%%%S    S%%%SSSSSSS                         S%%%S S%%%S S%%%S S%%%S         S%%%S    S%%%S    S%%%S SSSSS   S%%%S   S%%%S SSSSS .SSSS S%%%S       SSSSS S%%%S SSSSS S%%%S SSSSS S%%%S       S%%%S SSSSS S%%%S SSSSS
SSSSS SSSSS SSSSSsSSSS' SSSSSsSSSSS SSSSSsS;:'  SSSSSsSS;:' SSSSS       SSSSSsSSSSS SSSSS SSSSS SSSSS `:;SSsSSSSS SSSSS   SSSSS SSSSSsSS;:' SSSSS       SSSSS SSSSS    SSSSS SSSSSsSSSSS SSSSS       SSSSSsSSSSss SSSSS SSSSS SSSSSsSSSSS       SSSSS       SSSSSsSSSSS     SsS     SSSSSsSS SSsSSSSS SSSSS SSSSS    SSSSS    SSSSSSSSSSS                         `\"\":5 `\"\":5 `:;:' `:;:'         `:;:'    `:;:'    `:;SSsSS;:' SsSSSSSsS SSSSSsSSSSS `:;SSsSSSSS       SSSSS `:;SSsSS;:' `:;SSsSS;:' SSSSS       `:;SSsSS;:' `:;SSsSS;:'
                                                                                                                                                                                                                                                                                                                                                                   ;:'   ;:'                                                                                                                                                            
"
amcneko_chars = {
 :' ' => ' ',
 :a => 0..11, :b => 12..23, :c => 24..35, :d => 36..47, :e => 48..59, :f => 60..71, :g => 72..83, :h => 84..95, :i => 96..101, :j => 102..113, :k => 114..127, :l => 128..140, :m => 140..157, :n => 158..172, :o => 173..184, :p => 185..196, :q => 197..209, :r => 210..221, :s => 222..234, :t => 235..251, :u => 252..263, :v => 264..275, :w => 276..293, :x => 294..305, :y => 306..317, :z => 318..329,
 :A => 0..11, :B => 12..23, :C => 24..35, :D => 36..47, :E => 48..59, :F => 60..71, :G => 72..83, :H => 84..95, :I => 96..101, :J => 102..113, :K => 114..127, :L => 128..140, :M => 140..157, :N => 158..172, :O => 173..184, :P => 185..196, :Q => 197..209, :R => 210..221, :S => 222..234, :T => 235..251, :U => 252..263, :V => 264..275, :W => 276..293, :X => 294..305, :Y => 306..317, :Z => 318..329,
 :< => 330..341, :> => 342..353, :';' => 354..359, :',' => 360..365, :':' => 366..371, :'.' => 372..377, :- => 378..385, :'!' => 386..391, :'?' => 392..403,
 :'0' => 404..415, :'1' => 416..425, :'2' => 426..437, :'3' => 438..449, :'4' => 450..461, :'5' => 462..473, :'6' => 474..485, :'7' => 486..497, :'8' => 498..509, :'9' => 510..521
}

banner3d = "
:::'###::::'########:::'######::'########::'########:'########::'######:::'##::::'##:'####:::::::'##:'##:::'##:'##:::::::'##::::'##:'##::: ##::'#######::'########:::'#######::'########:::'######::'########:'##::::'##:'##::::'##:'##:::::'##:'##::::'##:'##:::'##:'########::::'##:'##::::'####::::::::'##:::::::::::::::::::::::::::'###:::'######:'######:::'####:'####:::::::::::'####:'####'####::'########::'#####::'##:::::'####::::::::::'##:::'###:'###:::::::::::'#######::'##:::::::'##::'#######::::'##'##::::'####::::::'####::::::::::::::'#####::::::'##::::'#######:::'#######::'##::::::::'########::'#######::'########::'#######:::'#######::
::'## ##::: ##.... ##:'##... ##: ##.... ##: ##.....:: ##.....::'##... ##:: ##:::: ##:. ##:::::::: ##: ##::'##:: ##::::::: ###::'###: ###:: ##:'##.... ##: ##.... ##:'##.... ##: ##.... ##:'##... ##:... ##..:: ##:::: ##: ##:::: ##: ##:'##: ##:. ##::'##::. ##:'##::..... ##::::'##::. ##::: ####:::::::'####:::::::::::::::::::::::::'## ##:: ##...::.... ##::'##..::... ##::::'##::: ####: #### ####:'##. ##. ##: ## ##:'##:::::'##. ##::::::::'##:::'##:::.. ##:::::::::'##.... ##:. ##:::::: ##:'##.... ##::: ## ##:::'##  ##:'##: ####::'##::'##:::'##.. ##:::'####:::'##.... ##:'##.... ##: ##:::'##:: ##.....::'##.... ##: ##..  ##:'##.... ##:'##.... ##:
:'##:. ##:: ##:::: ##: ##:::..:: ##:::: ##: ##::::::: ##::::::: ##:::..::: ##:::: ##:: ##:::::::: ##: ##:'##::: ##::::::: ####'####: ####: ##: ##:::: ##: ##:::: ##: ##:::: ##: ##:::: ##: ##:::..::::: ##:::: ##:::: ##: ##:::: ##: ##: ##: ##::. ##'##::::. ####::::::: ##::::'##::::. ##::....::::::::. ##:::::::::::::::::::::::::'##:. ##: ##::::::::: ##:: ##::::::: ##:::: ##::: ####:. ##:. ##:: ##: ##:..:: #####'##::::::. ####::::::::'##:::'##::::::: ##:'#####:..:::: ##:::. ##::::: ##: ##'### ##:'#########:..::. ####::. ##:::. ##'##:::'##:::: ##::.. ##:::..::::: ##:..::::: ##: ##::: ##:: ##::::::: ##::::..::..:: ##::: ##:::: ##: ##:::: ##:
'##:::. ##: ########:: ##::::::: ##:::: ##: ######::: ######::: ##::'####: #########:: ##:::::::: ##: #####:::: ##::::::: ## ### ##: ## ## ##: ##:::: ##: ########:: ##:::: ##: ########::. ######::::: ##:::: ##:::: ##: ##:::: ##: ##: ##: ##:::. ###::::::. ##::::::: ##::::'##::::::. ##:'####:'####::..::::::::'#######::::::::::..:::..:: ##::::::::: ##:'###::::::: ###:'######:: ##:::..:::..:::. ########::.....'##:::::::'####::::::::'##:::: ##::::::: ##:.....:::::: ###:::::. ##::::..:: ## ### ##:.. ## ##.:::::::....::::. ##:'#########: ##:::: ##:::: ##::::'#######:::'#######:: ##::: ##:: #######:: ########::::: ##::::: #######::: ########:
#########: ##.... ##: ##::::::: ##:::: ##: ##...:::: ##...:::: ##::: ##:: ##.... ##:: ##::'##::: ##: ##. ##::: ##::::::: ##. #: ##: ##. ####: ##:::: ##: ##.....::: ##:'## ##: ##.. ##::::..... ##:::: ##:::: ##:::: ##:. ##:: ##:: ##: ##: ##::: ## ##:::::: ##:::::: ##:::::. ##::::: ##:: ####: ####::'##:::::::........::::::::::::::::::: ##::::::::: ##:. ##::::::: ##::.. ##.:::..:::::::::::::::... ##. ##:::::'##'#####:'##. ##'##:::'##::::: ##::::::: ##:'#####:::: ##.:::::::. ##:::'##: ## #####::'#########:::::::::::::::..::.. ## ##.:: ##:::: ##:::: ##:::'##:::::::::...... ##: #########:...... ##: ##.... ##::: ##:::::'##.... ##::...... ##:
##.... ##: ##:::: ##: ##::: ##: ##:::: ##: ##::::::: ##::::::: ##::: ##:: ##:::: ##:: ##:: ##::: ##: ##:. ##:: ##::::::: ##:.:: ##: ##:. ###: ##:::: ##: ##:::::::: ##:.. ##:: ##::. ##::'##::: ##:::: ##:::: ##:::: ##::. ## ##::: ##: ##: ##:: ##:. ##::::: ##::::: ##:::::::. ##::: ##:::. ##::. ##::'####:'###:::::::::::::::::::::::::::: ##::::::::: ##:: ##::::::: ##:::: ##:::'####::::::::::::'##: ##: ##::::'##: ## ##: ##:. ##::::'##::::::. ##::::: ##::.....:::::..::::::::::. ##:: ##: ##.....:::.. ## ##.::::::::::::::::::::: ##:. ##::. ##:: ##::::: ##::: ##::::::::'##:::: ##:...... ##::'##::: ##: ##:::: ##::: ##::::: ##:::: ##:'##:::: ##:
##:::: ##: ########::. ######:: ########:: ########: ##:::::::. ######::: ##:::: ##:'####:. ######:: ##::. ##: ########: ##:::: ##: ##::. ##:. #######:: ##::::::::. ##### ##: ##:::. ##:. ######::::: ##::::. #######::::. ###::::. ###. ###:: ##:::. ##:::: ##:::: ########:::. ##: ##:::: ##:::'##:::. ##:: ###::::::::::'#######:::::::::: ######:'######::. ####:'####:::::..:::: ####::::::::::::. ########::::'##:: #####:. ####. ##:'##::::::::. ###: ###:::::::::::::'##::::::::::. ##: ##:. #######:::: ## ##::::::::::::::::::::::..:::..::::. #####::::'######: #########:. #######:::::::: ##::. ######::. #######:::: ##:::::. #######::. #######::
..:::::..::........::::......:::........:::........::..:::::::::......::::..:::::..::....:::......:::..::::..::........::..:::::..::..::::..:::.......:::..::::::::::.....:..::..:::::..:::......::::::..::::::.......::::::...::::::...::...:::..:::::..:::::..:::::........:::::..::..:::::.:::::..:::::..:::...:::::::::::.......:::::::::::......::......:::::...::....::::::::::::....::::::::::::::........:::::..:::.....:::....::..::..::::::::::...::...::::::::::::::..::::::::::::..::..:::.......:::::..:..:::::::::::::::::::::::::::::::::::.....:::::......::.........:::.......:::::::::..::::......::::.......:::::..:::::::.......::::.......:::
"
banner3d_chars = {
 :' ' => ' ',
 :a => 0..10, :b => 11..21, :c => 22..31, :d => 32..42, :e => 43..52, :f => 53..62, :g => 63..73, :h => 74..84, :i => 85..90, :j => 91..100, :k => 101..110, :l => 111..120, :m => 121..131, :n => 132..141, :o => 142..152, :p => 153..163, :q => 164..174, :r => 175..185, :s => 186..195, :t => 196..205, :u => 206..216, :v => 217..227, :w => 228..239, :x => 240..250, :y => 251..260, :z => 261..270,
 :A => 0..10, :B => 11..21, :C => 22..31, :D => 32..42, :E => 43..52, :F => 53..62, :G => 63..73, :H => 74..84, :I => 85..90, :J => 91..100, :K => 101..110, :L => 111..120, :M => 121..131, :N => 132..141, :O => 142..152, :P => 153..163, :Q => 164..174, :R => 175..185, :S => 186..195, :T => 196..205, :U => 206..216, :V => 217..227, :W => 228..239, :X => 240..250, :Y => 251..260, :Z => 261..270,
 :< => 271..277, :> => 278..284, :';' => 285..290, :',' => 291..296, :':' => 297..302, :'.' => 303..307, :- => 308..316, :_ => 317..325, :'^' => 326..334, :'[' => 335..342, :']' => 343..350, :'{' => 351..358, :'}' => 359..366, :+ => 367..374, :'!' => 375..380, :'"' => 381..391, :'$' => 392..403, :% => 404..417, :& => 418..428, :/ => 429..438, :'(' => 439..445, :')' => 446..452, :'=' => 453..459, :'?' => 460..470, :'\\' => 471..480, :| => 481..484, :'@' => 485..495, :'#' => 496..506, :~ => 507..518, :` => 519..524, :* => 525..535,
 :'0' => 536..546, :'1' => 548..555, :'2' => 556..566, :'3' => 567..577, :'4' => 578..588, :'5' => 589..598, :'6' => 599..609, :'7' => 610..619, :'8' => 620..630, :'9' => 631..641

string = 'Elektro   Hacker'

# ... más código abajo









RyogiShiki

Se me ocurre que se podría simplificar mucho la cosa si envés de guardar los tipos de letra en el mismo Source se definen por ejemplo en archivos JSON. Tal vez sea posible también hacer un script (con algo como selenium) para automatizar la forma en la que se cojen los tipos de letra de las páginas que mencionas, así se puede recorrer un tipo de letra con los caracteres especificados y cada vez, definir el caracter en el archivo JSON correspondiente al tipo de letra todo de forma automática y sin dolor XD. Seria como tener tipos de letra, pero en vez de ser otf o ttf estarían definidos en una estructura JSON o algún markup que sea fácil de parsear.

Saludos


Eleкtro

Gracias por comentar RyogiShiki, Yo sobre json no se nada, Y selenium lo usé para otras cosas, No sabia que podia servir para esto, Me supera jeje.

Lo dificil es eso... Pensar en como parsearlo, Porque yo en el script voy definiendo los "limites" de cada letra (De cada estilo), Pregunté a muchos expertos en como automatizar esa tarea paro nadie supo contestarme :P

Un saludo!