home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fonts 1
/
freshfonts1.bin
/
programs
/
amiga
/
fs2l
/
sources
/
fs2l.e
next >
Wrap
Text File
|
1994-09-01
|
4KB
|
275 lines
OPT OSVERSION=37
ENUM OUT_OF_MEMORY , ARGS_ERROR , IO_ERROR
RAISE OUT_OF_MEMORY IF New() = NIL ,
ARGS_ERROR IF ReadArgs() = NIL ,
IO_ERROR IF Open() = NIL
DEF file , file_ptr : PTR TO CHAR , file_ptr_tmp : PTR TO CHAR
PROC main() HANDLE
DEF rdargs = NIL , arguments : PTR TO LONG
DEF file_length , file_end
DEF version , car
Vprintf( ' \c1;33;40\cFS2L\c0;31;40\c v1.0\n' , [ $9B , $6D , $9B , $6D ] )
PutStr( 'Copyright © 1993, Lionel Vintenat\n' )
Vprintf( '\c1;32;40\c---------------------------------\c0;31;40\c\n' , [ $9B , $6D , $9B , $6D ] )
version := '$VER: FS2L 1.0 (30.4.94)'
arguments := [ NIL , NIL ]
rdargs := ReadArgs( 'FROM/A,TO' , arguments , NIL )
file := Open( arguments[ 0 ] , OLDFILE )
file_length := FileLength( arguments[ 0 ] )
file_ptr := New( file_length )
file_end := file_ptr + file_length
Read( file , file_ptr , file_length )
Close( file )
file := Open( IF arguments[ 1 ] THEN arguments[ 1 ] ELSE arguments[ 0 ] , NEWFILE )
file_ptr_tmp := file_ptr
WHILE file_ptr < file_end
car := file_ptr[ 0 ]++
SELECT car
CASE "¡"
write_sequence( '{!`}' )
CASE "£"
write_sequence( '\\pounds' )
CASE "§"
write_sequence( '{\\S}' )
CASE "©"
write_sequence( '\\copyright' )
CASE "µ"
write_sequence( '\\mu' )
CASE "¶"
write_sequence( '{\\P}' )
CASE "¿"
write_sequence( '{?`}' )
CASE "À"
write_sequence( '\\`A' )
CASE "Á"
write_sequence( '\\''A' )
CASE "Â"
write_sequence( '\\^A' )
CASE "Ã"
write_sequence( '\\~A' )
CASE "Ä"
write_sequence( '\\"A' )
CASE "Å"
write_sequence( '{\\AA}' )
CASE "Æ"
write_sequence( '{\\AE}' )
CASE "Ç"
write_sequence( '\\c{C}' )
CASE "È"
write_sequence( '\\`E' )
CASE "É"
write_sequence( '\\''E' )
CASE "Ê"
write_sequence( '\\^E' )
CASE "Ë"
write_sequence( '\\"E' )
CASE "Ì"
write_sequence( '\\`I' )
CASE "Í"
write_sequence( '\\''I' )
CASE "Î"
write_sequence( '\\^I' )
CASE "Ï"
write_sequence( '\\"I' )
CASE "Ñ"
write_sequence( '\\~N' )
CASE "Ò"
write_sequence( '\\`O' )
CASE "Ó"
write_sequence( '\\''O' )
CASE "Ô"
write_sequence( '\\^O' )
CASE "Õ"
write_sequence( '\\~O' )
CASE "Ö"
write_sequence( '\\"O' )
CASE "Ø"
write_sequence( '{\\O}' )
CASE "Ù"
write_sequence( '\\`U' )
CASE "Ú"
write_sequence( '\\''U' )
CASE "Û"
write_sequence( '\\^U' )
CASE "Ü"
write_sequence( '\\"U' )
CASE "ß"
write_sequence( '\\beta' )
CASE "à"
write_sequence( '\\`a' )
CASE "á"
write_sequence( '\\''a' )
CASE "â"
write_sequence( '\\^a' )
CASE "ã"
write_sequence( '\\~a' )
CASE "ä"
write_sequence( '\\"a' )
CASE "å"
write_sequence( '{\\aa}' )
CASE "æ"
write_sequence( '{\\ae}' )
CASE "ç"
write_sequence( '\\c{c}' )
CASE "è"
write_sequence( '\\`e' )
CASE "é"
write_sequence( '\\''e' )
CASE "ê"
write_sequence( '\\^e' )
CASE "ë"
write_sequence( '\\"e' )
CASE "ì"
write_sequence( '\\`{\\i}' )
CASE "í"
write_sequence( '\\''{\\i}' )
CASE "î"
write_sequence( '\\^{\\i}' )
CASE "ï"
write_sequence( '\\"{\\i}' )
CASE "ñ"
write_sequence( '\\~n' )
CASE "ò"
write_sequence( '\\`o' )
CASE "ó"
write_sequence( '\\''o' )
CASE "ô"
write_sequence( '\\^o' )
CASE "õ"
write_sequence( '\\~o' )
CASE "ö"
write_sequence( '\\"o' )
CASE "ø"
write_sequence( '{\\o}' )
CASE "ù"
write_sequence( '\\`u' )
CASE "ú"
write_sequence( '\\''u' )
CASE "û"
write_sequence( '\\^u' )
CASE "ü"
write_sequence( '\\"u' )
CASE "ý"
write_sequence( '\\''y' )
CASE "ÿ"
write_sequence( '\\"y' )
ENDSELECT
ENDWHILE
Write( file , file_ptr_tmp , file_ptr - file_ptr_tmp )
Close( file )
FreeArgs( rdargs )
EXCEPT
SELECT exception
CASE ARGS_ERROR
PrintFault( IoErr() , NIL )
CASE OUT_OF_MEMORY
PutStr( 'Out of memory !\n' )
CASE IO_ERROR
PrintFault( IoErr() , NIL )
ENDSELECT
IF rdargs THEN FreeArgs( rdargs )
CleanUp( 100 )
ENDPROC
PROC write_sequence( sequence )
Write( file , file_ptr_tmp , file_ptr - file_ptr_tmp - 1 )
Write( file , sequence , StrLen( sequence ) )
file_ptr_tmp := file_ptr
ENDPROC