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;
27 $partsdata = $form->param('partsdata');
28 $partsdata =~ s/[\;\&\#\"\'\%\\]//g;
29 $mappingtable = $form->param('mappingtable');
30 $mappingtable =~ s/[\;\&\#\"\'\%\\\$\:]//g;
32 for(my $i = 0; $i < 16; $i++){
33 $unicoderange[$i] = $form->param("unicoderange$i");
34 $unicoderange[$i] =~ s/[^0-9a-fA-F\-]//g;
35 if($unicoderange[$i] eq ""){
36 $unicoderange[$i] = "--";
39 for(my $i = 0; $i < 4; $i++){
40 $codepagerange[$i] = $form->param("codepagerange$i");
41 $codepagerange[$i] =~ s/[^0-9a-fA-F]//g;
42 if($codepagerange[$i] eq ""){
43 $codepagerange[$i] = "00";
47 #open FH, "<", "parts.txt";
52 # @temp = split(/ \t|\r\n|\r|\n/, $_);
53 # $parts{$temp[0]} = $temp[1];
56 @temp2 = split(/\r\n|\r|\n/, $partsdata);
61 @temp = split(/ |\t|\r\n|\r|\n/, $_);
62 $parts{$temp[0]} = $temp[1];
64 open FH, ">", "$TEMP.parts.txt";
69 #open FH, "<", "map.txt";
72 # @temp = split(/\t|\r\n|\r|\n/, $_);
73 # $map{$temp[0]} = $temp[1];
76 @temp2 = split(/\r\n|\r|\n/, $mappingtable);
79 @temp = split(/ |\t|\r\n|\r|\n/, $_);
80 $map{$temp[0]} = $temp[1];
85 Reencode("UnicodeFull")
86 SetTTFName(0x409,0,"$LICENSE")
87 SetTTFName(0x409,1,"$fontname_en")
88 SetTTFName(0x409,4,"$fontname_en")
89 SetTTFName(0x411,1,"$fontname_ja")
90 SetTTFName(0x411,4,"$fontname_ja")
93 foreach(sort(keys %map)){
94 $temp = $parts{$map{$_}};
95 $dummy = `cd $KAGESCRIPT; $ECHO '$temp' | $PERL $KAGESCRIPT/kagepre.pl $TEMP.parts.txt | $PERL $KAGESCRIPT/kage$FMT.pl > $TEMP.$_.$FMT`;
104 Import("$TEMP.$_[0].$FMT")
105 #Import("$TEMP.$_[0].$FMT",0,2)
117 $script .= "Generate(\"$TEMP.ttf\", \"\", 0)\n";
118 $script .= "Quit()\n";
119 open FH, ">:utf8", "$TEMP.scr";
123 $dummy = `export LANG=utf-8; $FONTFORGE -script $TEMP.scr 2>/dev/null`;
128 open FH, "<$TEMP.ttf";
130 read FH, $fdata, $fsize;
133 Content-type: application/octet-stream
134 Content-Disposition: attachment; filename = $fontname_en.ttf
139 $dummy = `$RM $TEMP*`;