Roxen.git/
server/
font_handlers/
imagedir.pike
Branch:
Tag:
Non-build tags
All tags
No tags
2000-09-16
2000-09-16 20:43:31 by Martin Nilsson <mani@lysator.liu.se>
fad0b7ec0e5b37925547e9c76e06ee3a151bbd8e (
19
lines) (+
16
/-
3
)
[
Show
|
Annotate
]
Branch:
5.2
Handle some more metadata.
Rev: server/font_handlers/imagedir.pike:1.5
1:
#include <config.h> #include <stat.h>
-
constant cvs_version = "$Id: imagedir.pike,v 1.
4
2000/09/
04
07
:
40
:
50
per
Exp $";
+
constant cvs_version = "$Id: imagedir.pike,v 1.
5
2000/09/
16
20
:
43
:
31
nilsson
Exp $";
constant name = "Image directory fonts"; constant doc = ("Handles a directory with images (in almost any format), each "
125:
} mapping font_list;
+
mapping meta_data;
static string font_name( string what ) {
-
return (lower_case( replace(what," ","_") )/"\n")[0]-"\r";
+
if(!meta_data) meta_data=([]);
+
mapping _meta_data=([]);
+
Parser.HTML()->
+
add_containers( ([ "name":lambda(string t, mapping m, string c) {
+
what=c;
return
""; },
+
"meta":lambda
(
string t, mapping m, string c) {
+
_meta_data[m->name]=c; },
+
]) )->finish(what);
+
+
what=(
lower_case( replace(what," ","_") )/"\n")[0]-"\r";
+
if(sizeof(_meta_data)) meta_data[what]=_meta_data;
+
return what;
} void update_font_list()
157:
#endif if( !font_list ) update_font_list(); if( font_list[ fnt ] )
-
return ({ ([
+
return ({ (
meta_data
[
fnt] || ([])) | ([
"name":fnt, "family":fnt, "path":font_list[fnt],