|
|
| version 1.3, 2003/11/12 19:06:33 | version 1.7, 2004/01/11 16:58:47 |
|---|---|
| Line 3 | Line 3 |
| #include "dosio.h" | #include "dosio.h" |
| #include "fdefine.h" | #include "fdefine.h" |
| #include "strres.h" | #include "strres.h" |
| #include "fontdata.h" | |
| void Setfiletype(int ftype, OSType *creator, OSType *fileType) { | void Setfiletype(int ftype, OSType *creator, OSType *fileType) { |
| *creator = 'SMil'; | *creator = 'SMil'; |
| *fileType = '????'; | // *fileType = '????'; |
| switch(ftype) { | switch(ftype) { |
| // case FTYPE_SMIL: // システム予約 | // case FTYPE_SMIL: // システム予約 |
| Line 80 static int Getfiletype(FInfo *fndrinfo) | Line 81 static int Getfiletype(FInfo *fndrinfo) |
| case '.HDI': | case '.HDI': |
| return(FTYPE_HDI); | return(FTYPE_HDI); |
| case 'BMP ': | |
| return(FTYPE_BMP); | |
| } | } |
| return(FTYPE_NONE); | return(FTYPE_NONE); |
| } | } |
| Line 87 static int Getfiletype(FInfo *fndrinfo) | Line 91 static int Getfiletype(FInfo *fndrinfo) |
| static int GetFileExt(char* filename) { | static int GetFileExt(char* filename) { |
| char* p; | char* p; |
| char* n; | |
| int ftype; | int ftype; |
| p = file_getext((char *)filename); | p = file_getext((char *)filename); |
| n = file_getname((char *)filename); | |
| if ((!milstr_cmp(p, str_d88)) || (!milstr_cmp(p, str_d98))) { | if ((!milstr_cmp(p, str_d88)) || (!milstr_cmp(p, str_d98))) { |
| ftype = FTYPE_D88; | ftype = FTYPE_D88; |
| } | } |
| Line 105 static int GetFileExt(char* filename) { | Line 111 static int GetFileExt(char* filename) { |
| else if ((!milstr_cmp(p, str_hdi))) { | else if ((!milstr_cmp(p, str_hdi))) { |
| ftype = FTYPE_HDI; | ftype = FTYPE_HDI; |
| } | } |
| else { | else if ((!milstr_cmp(p, "xdf")) || (!milstr_cmp(p, "dup")) || (!milstr_cmp(p, "hdm"))) { |
| ftype = FTYPE_BETA; | ftype = FTYPE_BETA; |
| } | } |
| else if ( | |
| (!file_cmpname(n, v98fontname)) || | |
| (!file_cmpname(n, pc88ankname)) || | |
| (!file_cmpname(n, pc88knj1name))|| | |
| (!file_cmpname(n, pc88knj2name))|| | |
| (!file_cmpname(n, fm7ankname)) || | |
| (!file_cmpname(n, fm7knjname)) || | |
| (!file_cmpname(n, x1ank1name)) || | |
| (!file_cmpname(n, x1ank2name)) || | |
| (!file_cmpname(n, x1knjname)) || | |
| (!file_cmpname(n, x68kfontname))) { | |
| ftype = FTYPE_SMIL; | |
| } | |
| else { | |
| ftype = FTYPE_NONE; | |
| } | |
| return(ftype); | return(ftype); |
| } | } |
| Line 118 int file_getftype(char* filename) { | Line 140 int file_getftype(char* filename) { |
| FInfo fndrInfo; | FInfo fndrInfo; |
| int ftype; | int ftype; |
| mkstr255(fname, filename); | ftype = GetFileExt(filename); |
| FSMakeFSSpec(0, 0, fname, &fss); | |
| if (FSpGetFInfo(&fss, &fndrInfo) != noErr) { | |
| return(FTYPE_NONE); | |
| } | |
| ftype = Getfiletype(&fndrInfo); | |
| if (ftype == FTYPE_NONE) { | if (ftype == FTYPE_NONE) { |
| ftype = GetFileExt(filename); | mkstr255(fname, filename); |
| } | FSMakeFSSpec(0, 0, fname, &fss); |
| if (FSpGetFInfo(&fss, &fndrInfo) != noErr) { | |
| return(FTYPE_NONE); | |
| } | |
| ftype = Getfiletype(&fndrInfo); | |
| } | |
| return(ftype); | return(ftype); |
| } | } |