home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 14 Text
/
14-Text.zip
/
rxjisinf.zip
/
RXJISINF.TXT
Wrap
Text File
|
2002-01-12
|
25KB
|
509 lines
RXJIS 0.96
1999-12-21 Yano ÉÆ NIFTY-Serve: MXB02474Internet:
tyano@tk.airnet.ne.jp or tyano@jp.ibm.co.jp
RXJIS is the utility function
group called from REXX of OS/2. Mutual conversion of the character sequence
of the encoding, decoding and the EUC code, and the PC code of the mutual
conversion between the character sequence of the PC code (= shifted JIS
code) and the 7 bit character sequence of JIS and the character sequence of
a MIME format is performed. Moreover, there is also an interface for
calling from C/C++.
User Exit:MIMESEND.CMDMIMERECV.CMD for treating Japanese by PostRoadMailer
as a sample of a way to be used is attached. Re-distribution is prohibition
although re-distribution in a form with this is free, and contents were
changed. moreover, it uses by EPM (extended editor) -- simple -- text
formatter FMTTEXT3.ERX was also attached as a sample Bibliography: Guidance (on-line manual) Japanese information processing of
the RFC822RFC1468RFC1554RFC1557RFC2045RFC2046RFC2047RFC2048RFC2049 OS/2
warp Japanese version use (Ken Kunde)
Change history: 1999-12-21 : The prefix of the output of Correction RxJisTrace was simplified. Size was
reduced. The header included so that it can compile with the newest toolkit
was changed.
1998-9-26: The space of full size corrected the problem which is not
changed into the space of half size with the 0.95 expansion & correction
RxJisToAscii function. The character treated with a
RxJisToUpper/RxJisKanjiAlias function was extended based on JIS Chinese
character ÄÜôT.
1998-5-76: The conversion from JIS and JIS to the PC code
old things JIS corrected the problem which is not right from the 0.94
correction PC code old things JIS. The RxJisSyslog function was added.
1997-9-12: The 0.93 expansion & correction RxJisTrace function was added.
It corrected that the version number was wrong.
1997-9-5: Specification was changed so that the old character style / old
character style / miswritten word object / worldly character style might be
made into this character style by 0.92 expansion & specification change &
correction RxJisToUpper/JisToUpper. The RxJisKanjiAlias/JisKanjiAlias
function was added. The RxJisPriority function was added. It corrected that
the source code was lacking.
1997-8-25: The amount of the 0.91
specification change & bug fix memory used was reduced. It corrected not
moving, if the module which linked RXJIS.LIB of an old edition is combined.
It corrected that a part of whose ï╓æ½ processing was not right.
Specification was changed so that the Greece character, the Russia
character, etc. might be treated by RxJisToUpper/JisToUpper.
1997-8-5: By
0.90 specification change & bug fix RxJisToZenkakuKatakana, when a sauce
character sequence was long, the bug which becomes Incorrect call to
routine was corrected. It corrected that whose
RxJisWords/RxJisWord/RxJisWordIndex was [ ï╓æ½ processing ] inadequate.
When changing into 7-bit JIS code, specification was changed so that it
might change into = having made blank the character code which is not
right.
Since type was unnatural although the IBM/NEC selection character was
changed into the alternative character in case it changed into 7-bit JIS
code, specification was changed so that priority might be given to type and
it might change into an alternative character sequence.
Moreover, the character for which it cannot substitute changed specification so that it
might change having used the code as it is into =. The amount of the memory
used was reduced. (Performance became bad a little.) When changing into the
PC code from 7-bit JIS code, conversion other than exchange of new JIS /
old JIS changed the bending way and specification.
It changed into the specification using specification using
\OS2\SYSDATA\$SYS1IBM.TBL which is not spread on additional DBCS version
OS/2 by making the addition FMTTEXT3 of a JisFindWord function into a
sample. It became impossible BIRUDO only on Japanese OS/2 with change of
BIRUDO environment.
1996-10-28: It is "ESC (it changed into B".) about the
escape sequence which directs a double byte when returning the 7 bit JIS
code of 0.86 specification change & bug fixes. When length appended [ a
trap ] to the character sequence of 1 by RxJisAppend/JisAppend, the bug in
which a trap occurs was corrected.
1996-10-20: When mail software other than PostRoadMailer used 0.85 bug-fix
MIMESEND.CMD, it was made not to attach the duplicate header. 1996-9-14:
0.84 bug fixes (it does not release) When changing into the PC code from
JIS code by the code page 943, it was made not to carry out the map of the
NEC selection character to the range of JIS or IBM. 1996-9-10: 0.83
expansion (it does not release.) Support of a code page 943 was added. A
code page 943 is a Japanese code page of a new JIS row.
The error of a version number was corrected.
1996-8-19: 0.82 bug fixes (it does not release.)
When adding the character sequence which is blank and
starts when adding to the character sequence which is blank and finishes it
as RxJisAppend, the problem on which a blank may enter in between was
corrected.
1996-7-22: 0.81 The bug which becomes Incorrect call to routine
in the character sequence of the length which exceeds 255 characters by bug
fix RxJisToJis was corrected. (Bug which entered from 0.80.)
1996-7-21:
0.80 expansion & bug fix (it does not release.)
RxJisAppend/RxJisWord/RxJisWords/RxJisWordIndex/RxJisUrlToVar was added. It
corrected that RxJisEucTo did not work correctly.
1996-7-9: 0.72 bug fixes
(it does not release.) It corrected to 0.72 that the version number which
API returns was 0.70. Sauce was corrected so that English Warp could also
be compiled correctly.
1996-7-8: It corrected that there was an error to
the conversion table of 0.71 bug-fix RxJisBase64 To/RxJisToBase64. This bug
entered by 0.70.
1996-6-26: The 0.70 expansion RxJisToZenkakuKatakana function was added. It
was made to substitute when there was the PC code for which JIS/EUC can be
substituted the IBM character set in a character peculiar to NEC/MS. It was
made to substitute when there was the PC code for which the IBM character
set can be substituted among the characters of the JIS level 3 by JIS/EUC.
1996-6-20: The character (new character it is in the relation between the
/old character / û{ÄÜ / î├ÄÜ / æ¡ÄÜ / another character style) for which
the character of a JIS character set can be substituted among the IBM
Japanese characters (what exists after the 94th division) which are not
into a JIS character set at 0.60 expansion & bug fix RxJisToJis/RxJisToEuc
was transposed to the character of a JIS character set. It corrected that a
full-size HA line + voiced consonant mark was not changed into a full-size
voiced sound by RxJisToDbcs.
When there was data of QuotedPrintable of the form of =16 Éi by
RxJisQuotedPrintableTo/RxJisMimeJisTo, the bug which becomes Incorrect call
to routine was corrected. With the JisXX function, when the length of the
given character sequence was 0, the character sequence of a result
corrected the bug which does not become a NURU character sequence.
1996-5-27: 0.52 It corrected that whose escape sequence of bug fix
RxJisToJis was not right. It changed that the version number was 0.50 to
0.52.
1996-5-24: 0.51 It corrected that whose escape sequence of bug fix
RxJisToJis was not right. It stopped changing some control characters blank
by MIMERECV.
1996-5-19: It enabled it to decode Single Sift 2 of the 0.50
expansion & bug fix RFC 1554. The conditions of the code set change of
those other than the escape sequence specified by RFC1554 were implemented.
The escape sequence specified by RFC1557 was treated. However, there is no
function to change ISO-2022-KR into the PC code.
A character sequence including the escape sequence is only in a result. The
RxJisToSbcs/RxJisToAscii/RxJisToDbcs/RxJisToUpper function was added.
1996-5-1: The 0.40 expansion & bug fix
RxJisMimeJisTo/RxJisJisCharTo/RxJisToJisChar function was added. When
RxJisLoadFuncs was repeated and called, the bug which may start a memory
leak was corrected. RxJisMimeJisTo was used by MIMERECV.CMD.
1996-4-21: Support of the 0.30 expansion & bug fix JIS 78 was added. When
the conversion result exceeded é¬ of 255 characters, the bug which has
become Incorrect call to routine was corrected. The bug [ HANGU / if there
is an imperfect escape sequence when changing the 7 bit character sequence
of JIS / bug ] was corrected. The performance at the time of conversion was
raised sharply. The invalid kanji code was changed blank. RXJIS.H and
RXJIS.LIB were added to the package so that it could call also from C/C++.
It was made for the header of MIME to operate normally by MIMERECV also in
a small letter.
EXEPACK: Two are stopped and it was made to operate also in the environment
before OS/2 Warp. (Sufficient test has not been carried out.)
1996-3-20:0.20 expansion & bug fix RxJisToEucRxJisEucToRxJisJisTo was added. When
length gave the character sequence of 0 as a candidate for conversion, it
changed that it was the specification in which Incorrect call to routine
occurs so that the character sequence of length 0 might be returned. .CMD
to unnecessary TRACE of a sample was taken. It changed into 0.20 that the
version number which RxJisLoadFuncs returns was 0.00.
The amount of consumption of a stack was reduced. When the execution
environment of Warp was an old JIS row, mutual conversion of JIS and the PC
code was made to be performed correctly. When the NURU character was
contained in the character sequence for conversion, it was made right that
whose conversion was not right. It corrected having raised the trap, when
there was an escape sequence which is not a pair. Control characters other
than a tab and an escape character were changed blank by MIMERESV. REXXUTIL
was loaded by MIMERECV.CMD.
1996-2-14: REXXUTIL was loaded by 0.10 expansion & bug fix MIMESEND.CMD.
When there was no NOMIME file at MIMESEND.CMD, it was made for NOVALUE
conditions not to happen. When Chinese character out was before Chinese
character in, Chinese character in is compensated and it was made to change
by RxJisToPc. It is BIRUDO environment CSET++ It changed into VisualAage
C++ 3.0 from 2.1. Object execution environment was limited after Warp.
1996-2-5: The release of the 0.00 beginnings each function explanation-: --
[] -- the name when calling inside from C/C++
Refer to the RXJIS.H for the details of a parameter. When calling from
C/C++, the length of the character sequence after conversion is returned. -
If it is 1, the error with an insufficient buffer has occurred.
RxJisLoadFuncs: An r = RxJisLoadFuncs()RXJIS you TERITI function is loaded.
Argument: Return the character sequence which makes and shows the version
of a return:utility.
RxJisDropFuncs: ANRODO [ a RXJIS you TERITI function
]. r = RxJisDropFuncs() argument : make and return a return:sky character
sequence.
RxJisToPc: RxJisJisTo: [JisJisTo(target, source, and targetsize)] r =
RxJisToPc(s) r = RxJisJisTo (s) argument: s: Character sequence encoded by
7 bits of JIS. Return :P The character sequence of a C character code is
returned.
RxJisToJis: [JisToJis(target, source, and targetsize)] r =
RxJisToJis (s) argument: s: PC character code character sequence.
Return: Return the character sequence encoded by 7 bits of JIS.
RxJisToEuc:
[JisToEuc(target, source, and targetsize)] r = RxJisToEuc (s) argument: s:
PC character code character sequence. Return: Return the character sequence
encoded by EUC.
RxJisEucTo: [JisEucTo(target, source, and targetsize)] r =
RxJisEucTo (s) argument: s: Character sequence encoded by EUC.
Return :P The character sequence of a C character code is returned.
RxJisToBase64: [JisToBase64 (target, source, and targetsize)] r =
RxJisToBase64 (s) argument: s: Character sequence. Return: Return the
character sequence which encoded s by the MIME BASE64 format.
RxJisToQuotedPrintable: [JisToQuotedPrintable(target, source, and
targetsize)] r = RxJisToQuotedPrintable (s) argument: s: Character
sequence.
Return: Return the character sequence which encoded s by the MIME Quoted
Printable format.
RxJisBase64To : [JisBase64To(target, source, and
targetsize)] r = RxJisBase64To (s) argument: s: Character sequence of a
BASE64 format. Return: Return the character sequence which decoded s.
However, it is necessary to pass only the character sequence encoded by
MIME. To the inside of the character sequence which passes "?=" as
"=?charset?B?" Don't include.
RxJisQuotedPrintableTo: [JisQuotedPrintableTo(target, source, and
targetsize)] r = RxJisQuotedPrintableTo (s) argument: s: Character sequence
of a Quoted Printable format. Return: Return the character sequence which
decoded s. However, it is necessary to pass only the character sequence
encoded by MIME. To the inside of the character sequence which passes "?="
as "=?charset?B?" Don't include.
RxJisMimeJisTo: [JisMimeJisTo(target, source, and targetsize)] r =
RxJisMimeJisTo (s) argument: s: Character sequence containing the 7-bit JIS
character sequence encoded by MIME. Return: Return the character sequence
which decoded s. What is returned is the character sequence of the PC code.
"?=" may be contained in s as the MIME encoding sign "=?charset?B?" in
inside.
RxJisJisCharTo: [JisJisCharTo(target, source, and targetsize)] r =
RxJisJisCharTo (s) argument: s: Chinese character of one character of JIS
code. Return: Return the character which decoded s in PC kanji code.
RxJisToJisChar: [JisToJisChar(target, source, and targetsize)] r =
RxJisToJisChar (s) argument: s: Chinese character of one character of PC
kanji code. Return: Return the character which decoded s to JIS code.
RxJisToSbcs: [JisToSbcs(target, source, and targetsize)] r = RxJisToSbcs
(s) argument: s: Character sequence of the PC code. Return: Return the
character sequence which changed the DBCS character in s into the SBCS
character. Unlike DBTOSBCS, the full-size katakana of a voiced
sound/p-sound is changed into a half-size katakana + voiced consonant mark
/ p-sound mark.
RxJisToDbcs: [JisToDbcs(target, source, and targetsize)] r
= RxJisToDbcs (s) argument: s: Character sequence of the PC code.
Return: Return the character sequence which changed the SBCS character in s
into the DBCS character. Unlike DBTODBCS, a half-size katakana + voiced
consonant mark / p-sound mark is changed into a full-size voiced sound /
p-sound. Moreover, a full-size hiragana / katakana + voiced consonant mark
/ p-sound mark is changed into a full-size voiced sound / p-sound.
RxJisToAscii: [JisToAscii(target, source, and targetsize)] r = RxJisToAscii
(s) argument: s: Character sequence of the PC code. Return: Return the
character sequence which changed the DBCS character in s into the SBCS
character. Unlike DBTOSBCS, full-size katakana is not changed. Only a
full-size ASCII character is changed.
RxJisToUpper: [JisToUpper(target, source, and targetsize)] r = RxJisToUpper
(s) argument: s: Character sequence of the PC code. Return: Return the
character sequence which changed the character in s into the capital
letter. as an extended rule -- : -- the old character style / worldly
character style / miswritten word object / old character style [ of a
voiced sound / p-sound -> Kiyone Chinese character ] -> of katakana small
letter -> full size / half size of the katakana/hiragana of katakana
hiragana small letter -> hiragana capital letter full size -- "-""-" "üK"
"üJ" -> deletion of new character style / this character style full size /
half size is used [ of the English capital letter full size / half size of
the U.K. / Greece / Russia small letter -> full size / half size of full
size/half size
RxJisToZenkakuKatakana: [JisToZenkakuKatakana(target, source, and
targetsize)] r = RxJisToZenkakuKatakana (s) argument: s: Character sequence
of the PC code. Return: Change only half-size katakana into a full-size
character under the same rule as RxJisToDbcs. The ASCII character is not
changed.
RxJisWords: [int JisWords(char* string)] r = RxJisWords (s)
argument: s: Character sequence of the PC code. Return: Return the number
of WORD of a character sequence.
Unlike a words function, the DBCS character is counted with 1 word.
Supporting a Japanese hyphenation, " etc. counts " with 1 word. RxJisWord:
[int JisWord(char* target, char* string, int targetsize, and int n)] r =
RxJisWord (s and n) argument: s: Character sequence of the PC code. n:
Number return : return the n-th word of the character sequence s. The rule
of how to count WORD is the same as RxJisWord.
RxJisWordIndex: [int JisWord(char* string and int n)] r = RxJisWordIndex (s
and n) argument: s: Character sequence of the PC code. n: Number return :
return in the how many characters of s there is any n-th word of the
character sequence s. The rule of how to count WORD is the same as
RxJisWord.
RxJisAppend: [int JisAppend(char* target, char* string, and int
targetsize)] r = RxJisAppend (s and t) argument: s and t: Character
sequence of the PC code.
Return: Add t to the character sequence s. If the last of s and the
beginning of t are the SBCS characters, one blank is inserted in between.
The selector portion of URL when an RxJisUrlToVar:r = RxJisUrlToVar(s and
t) WEB client transmits FORM is stored in the STEM variable of REXX. It
assumes using in the http mode of GOSERVE. A Chinese character goes into
the variable of REXX after changing into the PC code the bottom which is
contained in url by 7-bit JIS. % Also decode and store the encoded
character. Argument: s: selector portion t of URL: stem name.
A default is "URL." return: -- example of empty character sequence: -- if
form.html?the1 st=abc+def&the2nd=%40abc is passed -- url.the1st : "abc
def"url.the2nd : It is set to "@abc."
RxJisIso8859_1ToCp850 (s):
RxJisIso8859_2ToCp852 (s):
RxJisIso8859_9ToCp857 (s):
RxJisCp850ToIso8859_1(s):
RxJisCp852ToIso8859_2(s):
RxJisCp857ToIso8859_9(s):[JisCp857ToIso8859_9(target,
source, targetsize)][JisCp852ToIso8859_2(target, source,
targetsize)][JisCp850ToIso 8859_1 (target and source,
targetsize] and [JisIso8859_1ToCp850 (target, source, and
targetsize)], [JisIso8859_2ToCp852 (target, source, and targetsize)], and
[JisIso8859_9ToCp857 (target, source, and targetsize)] -- code conversion
is carried out between each code pages [int JisFindWord (char *s, int size,
int pos, and int *startword)] This function is exclusively for C / C++
interface. It is not in REXX.
The position of a next word is searched from the pos position (zero start)
of the character sequence s of length size. A start position goes into
startword and the length of a word goes into a return value. 0 will be
returned if there is no word. Japanese simple ï╓æ½ processing is supported
and the head of the sentence / end-of-the-sentence prohibition character
does not return as an independent word. Moreover, the DBCS character
becomes an independent word. worldly character style / old character
style/-- new -- if there is character style / this character style / old
character style / miswritten word object / this character style, it will
store and return to Arrangement t [ of RxJisKanjiAlias(c):[int
JisKanjiAlias (wchar_t c, wchar_t* a, and int sizeofa)] Chinese character c]
Two or more characters surely store in Arrangement t also including c. The
number of the characters to return is a return value. If there is nothing,
0 will return. - 1 means an error. RxJisPriority(c and p): Set the priority
of the thread which REXX is running as Class c and Priority p. When there
is no argument, the value of the present thread is returned by the "class
priority." When it sets up, the value after setting up is returned in the
same form. When c is 0, p becomes the difference to the present priority. A
priority is set to p when c is except zero. c is 0 to 4, and p-31 to 31.
The direction of a number also with small class and priority serves as a
low priority.
RxJisTrace (s) :P Message s is outputted to the window of
MPRINTF. Output format : ICLUI: 00000000 000089:01 >970912071426: hello
00000000 Line number. It increases, whenever it sends a message. 000089:01
process ID:thread ID> 970912071426: Date time second: hello message
RxJisSyslog(s): Output Message s to the log file of syslog of a TCP/IP
function.
Output format : 980527071816: hello 970912071426: Date time second : hello
message By the default, a message is sent to local syslogd. If the host
name or the IP address is specified to be an environment variable
RXJISSYSLOGD, it will send there. In addition, the log file of syslogd is
\MPTN\ETC\SYSLOG.MSG by the default.
Sample: It is the utility where, as for a header, encoding and the main part of mail change a
MIMESEND.CMD:Shift JIS Åæé⌐éΩé╜ mail file into 7-bit JIS by MIME.
It can use for user exit of PostRoadMailer. A header is changed only into
7-bit JIS when sending to the domain currently written to a file called
NOMIME. It does not change, when the Japanese character is not contained in
the main part of mail, or the header. Moreover, a message main part is
checked to a mail header, and the main part of mail also adds description
of being Japanese to it. In addition, it does not correspond to a
multi-part.
Example of NOMIME : fin.go.jp# this is comment# the mail to foo@fin.go.jp
or foo@jusen.fin.go.jp is no MIME mail. # blank line is ignoredfoo@hel.com#
a line keeps only one domain or one address or one host. YUTERI tea from
which a MIMERECV.CMD header is written by MIME or 7 bits of JIS, and the
main part of mail changes mail of 7 bits of JIS into Shift JIS.
It can use for userexit of PostRoadMailer. It is the simple text formatter
for EPM which uses FMTTEXT3.ERX with RXJIS about FMTTEXT3.ERX. It
corresponds also to simple ï╓æ½ processing. The domain which carried out
the line mark is formatted. From a command dialog RX C:\OS2\APPS\FMTTEXT3
é╠ -- it uses in a form [ like ] The parameters of a left margin position
and the second are a right margin position and a left margin position in
the parameter of the beginning of the third paragraph those with three, and
the first.
respectively -- an abbreviation -- possible -- the time of an abbreviation
-- the left margin 1, the right margin position 64, and the margin position
of the beginning of a paragraph -- a left margin -- the same -- it comes to
be alike It uses in this form. The parameters of a left margin position and
the second are a right margin position and a left margin position in the
parameter of the beginning of the third paragraph those with three, and the
first. Before FOMATTO é═, it is required to carry out the line mark of the
domain to format. é≡ RX FMTTEXT3 4 30 If it formats by 6 It uses in this
form.
Parameter is those with three, and the first. The second is a left margin
position and the right. The third is a margin position and a paragraph. The
left in the first parameter It is a margin position. before FOMATTO é═ the
domain to format -- rye It is required to carry out MMAKU. it is . It
becomes. It will be convenient if you use for a tool bar, setting with "*"
as a function and setting it as it with "RX FMTTEXT3" etc. as a parameter.
a source code:
RXJIS.CPP : It is the source of RXJIS.DLL.
RXJIS.H : It is the header of RXJIS.CPP/RXJIS.LIB.
RXJIS.DEF : It is the module definition file of RXJIS.DLL.
RXJIS.MAK : It is a MAKE file.
RXJISTBL.CPP : It is the source of RXJIS.DLL.
RXJISTBL.HPP : It is the source of RXJIS.DLL.
PCTOJIS.HPP : It is the sauce of RXJIS.DLL.
PCTOJIS.CPP : It is the source of RXJIS.DLL.
is the source of RXJIS.DLL.
PC2JIS.HPP : It is the source of RXJIS.DLL.
PC2JIS.CMD : It uses in a MAKE file.
PC2JIS.DAT : It is data for PC2JIS.CMD making PC2JIS.CPP.
IBM2JIS.HPP : It is the source of RXJIS.DLL.
IBM2JIS.CMD : It uses in a MAKE file.
IBM2JIS.DAT : It is data for IBM2JIS.CMD making IBM2JIS.CPP.
IBM2JIS.CPP. JIS2PC.HPP : It is the source of RXJIS.DLL.
JIS2PC.CMD : It uses in a MAKE file.
JIS2PC.DAT : It is data for JIS2PC.CMD making JIS2PC.CPP.
BUILD.CMD : It is the command used for BIRUDO.
JISCASE.CMD : It is the command used for
the command used for BIRUDO.
JISCASE.HPP : It is the source of RXJIS.DLL.
JISCASE1.DAT : It is data for JISCASE.CMD making JISCASE.CPP.
JISCASE2.DAT : It is data for JISCASE.CMD making JISCASE.CPP.
JISCASE3.DAT : It is data for JISCASE.CMD making JISCASE.CPP.
JISCASE4.DAT : It is data for JISCASE.CMD making JISCASE.CPP.
JISCASE5.DAT : It is data for JISCASE.CMD making JISCASE.CPP.
JISCASE6.DAT : It is data for JISCASE.CMD making JISCASE.CPP.
JISCASE7.DAT : It is data for JISCASE.CMD making JISCASE.CPP.
JISCASE8.DAT : It is data for JISCASE.CMD making JISCASE.CPP.
BUILDRXJIS.DLL is built.
BUILD DLLRXJIS.DLL is built.
BUILD DLLRXJIS.DLL is built.
BUILD DLLRXJISDLL is built.
RXJIS.ZIP of a BUILD ZIP release package is
built.
The used compiler is VisualAge C++ 3.0 (the English version). CSD
has applied FixPak8.