Roxen.git / server / font_handlers / builtin.pike

version» Context lines:

Roxen.git/server/font_handlers/builtin.pike:1:   #include <config.h> - constant cvs_version = "$Id: builtin.pike,v 1.2 2000/09/19 10:30:45 nilsson Exp $"; + inherit "ttf"; + constant cvs_version = "$Id: builtin.pike,v 1.3 2000/09/19 12:20:40 per Exp $";      constant name = "Builtin fonts";   constant doc = "Fonts included in pike (and roxen)";      inherit FontHandler;      array available_fonts()   {    return ({ "pike builtin", "roxen builtin" });   }      array(mapping) font_information( string fnt )   {    switch( replace(lower_case(fnt)," ","_")-"_" )    { -  case "pikebuiltin": +  case "roxenbuiltin": + #if constant(has_Image_TTF)    return ({    ([ -  "name":"pike builtin", -  "family":"Pike builtin font", +  "name":"roxen builtin", +  "family":"Roxen builtin font",    "path":"-",    "style":"normal", -  "format":"bitmap dump", +  "format":"scalable vector font",    ])    }); -  case "roxenbuiltin": + #endif +  case "pikebuiltin":    return ({    ([ -  "name":"roxen builtin", -  "family":"Roxen builtin font", +  "name":"pike builtin", +  "family":"Pike builtin font",    "path":"-",    "style":"normal", -  "format":"scalable vector font", +  "format":"bitmap dump",    ])    });    }   }      array has_font( string name, int size )   {    switch( replace(lower_case(name)," ","_")-"_" )    {    case "pikebuiltin":    case "roxenbuiltin":    return ({ "nn" });    }    return 0;   } -  + object roxenbuiltin; + #ifdef THREADS + Thread.Mutex lock = Thread.Mutex(); + #endif      Font open( string name, int size, int bold, int italic )   {    switch( replace(lower_case(name)," ","_")-"_" )    { -  +  case "roxenbuiltin": + #ifdef THREADS +  object lock = lock->lock(); + #endif + #if constant(has_Image_TTF) && constant(Crypto.arcfour) && constant(Gz.inflate) +  if( !roxenbuiltin ) +  roxenbuiltin = compile_string( + Gz.inflate()->inflate(MIME.decode_base64( + #"eNpljzEOwjAMRfeewuqUSjQcAMGCBGKGPQqJA4E2QcaAAHF3Skshgj9Z38/2N0CruN6hYbBookVR + ZJ0L974AWLL1UV7IMyrnKxS5lMOzpiGtXT4A+JIvzW/SB1dpTpZ1Kid9Y0rXA0epybh4IlGUkyOy + wmBevtrjVUB+jt5+Ut0fOfxta2nRpSPU9h3OxcBqq4OtkI5txqLR6Dv9/tjBGBa13qBcrWbNweQp + SHGj2WwF1b9IyhDyiQK4j/UYZU+gUV5J" ) ))()->decode(); +  if( roxenbuiltin ) +  return TTFWrapper( roxenbuiltin(), size, "-" ); + #endif    case "pikebuiltin":    return Image.Font(); -  case "roxenbuiltin": -  return Image.Font(); // for now. Will use the cyberbit sans font +     }   }