/* Convert a file in UCS-2 (raw Unicode) format into the current codepage. */ /* The converted output is dumped to STDOUT (redirect using '>' to save). */ CALL RxFuncAdd 'ULSLoadFuncs', 'RXULS', 'ULSLoadFuncs' CALL ULSLoadFuncs PARSE ARG infile IF infile == '' THEN DO SAY 'Syntax: UCSFILE ' RETURN 0 END ucs_sig = CHARIN( infile, 1, 2 ) IF C2X( ucs_sig ) <> 'FFFE' THEN DO CALL LINEOUT 'STDERR:', 'WARNING: This file does not have a UCS signature. It may not be in UCS format.' CALL CHARIN infile, 1, 0 END DO WHILE CHARS( infile ) > 0 unichar = REVERSE(CHARIN( infile,, 2 )) IF LENGTH(unichar) < 2 THEN LEAVE cpchar = ULSConvertCodepage( unichar, 1200 ) CALL CHAROUT 'STDOUT:', cpchar END CALL STREAM infile, 'C', 'CLOSE' CALL ULSDropFuncs RETURN 0