5 $FONTFORGE = "/usr/local/bin/fontforge";
6 $PERL = "/usr/bin/perl";
9 $TEMP = "/tmp/tempKAGE";
10 $KAGESCRIPT = "/home/kamichi/perl";
12 $LICENSE = 'Created by KAGE system. (http://fonts.jp/)';
16 $fontname_en = $form->param('fontname-en');
17 $fontname_en =~ s/[\;\&\#\"\'\%\\\$\:\!\=\~\^\`]//g;
18 $fontname_ja = $form->param('fontname-ja');
19 $fontname_ja =~ s/[\;\&\#\"\'\%\\\$\:\!\=\~\^\`]//g;
20 utf8::decode($fontname_ja);
21 if($fontname_en eq ""){
22 $fontname_en = "Untitled";
24 if($fontname_ja eq ""){
25 $fontname_ja = $fontname_en;
28 #open FH, "<", "parts.txt";
33 # @temp = split(/ \t|\r\n|\r|\n/, $_);
34 # $parts{$temp[0]} = $temp[1];
37 @temp2 = split(/\r\n|\r|\n/, $partsdata);
42 @temp = split(/ |\t|\r\n|\r|\n/, $_);
43 $parts{$temp[0]} = $temp[1];
45 open FH, ">", "$TEMP.parts.txt";
50 #open FH, "<", "map.txt";
53 # @temp = split(/\t|\r\n|\r|\n/, $_);
54 # $map{$temp[0]} = $temp[1];
57 @temp2 = split(/\r\n|\r|\n/, $mappingtable);
60 @temp = split(/ |\t|\r\n|\r|\n/, $_);
61 $map{$temp[0]} = $temp[1];
66 Reencode("UnicodeFull")
67 SetTTFName(0x409,0,"$LICENSE")
68 SetTTFName(0x409,1,"$fontname_en")
69 SetTTFName(0x409,4,"$fontname_en")
70 SetTTFName(0x411,1,"$fontname_ja")
71 SetTTFName(0x411,4,"$fontname_ja")
74 foreach(sort(keys %map)){
75 $temp = $parts{$map{$_}};
76 $dummy = `cd $KAGESCRIPT; $ECHO '$temp' | $PERL $KAGESCRIPT/kagepre.pl $TEMP.parts.txt | $PERL $KAGESCRIPT/kage$FMT.pl > $TEMP.$_.$FMT`;
85 Import("$TEMP.$_[0].$FMT")
86 #Import("$TEMP.$_[0].$FMT",0,2)
98 $script .= "Generate(\"$TEMP.ttf\", \"\", 0)\n";
99 $script .= "Quit()\n";
100 open FH, ">:utf8", "$TEMP.scr";
104 $dummy = `export LANG=utf-8; $FONTFORGE -script $TEMP.scr 2>/dev/null`;
109 open FH, "<$TEMP.ttf";
111 read FH, $fdata, $fsize;
114 Content-type: application/octet-stream
115 Content-Disposition: attachment; filename = $fontname_en.ttf
120 $dummy = `$RM $TEMP*`;