Skip to content

Latest commit

 

History

History
365 lines (257 loc) · 32.1 KB

File metadata and controls

365 lines (257 loc) · 32.1 KB

License Maven Central

jef4j

はじめに

jef4j は、富士通株匏䌚瀟のメむンフレヌムで䜿われおいた JEF 挢字コヌド䜓系、株匏䌚瀟日立補䜜所のメむンフレヌムで䜿われおいた KEIS、日本電気株匏䌚瀟のメむンフレヌムで䜿われおいた JIPS ずいったレガシヌな文字コヌドを Unicode を盞互倉換するための Java 甹 Charset ラむブラリです。

挢字のマッピングは、目怜・手䜜業にお行っおおりたすので、誀りを発芋した堎合には Issue や Pull Request におご連絡をお願いしたす。

このプロダクトは富士通株匏䌚瀟、株匏䌚瀟日立補䜜所、日本電気株匏䌚瀟ずはたったく関係ありたせんので各瀟ぞの問い合わせはご遠慮ください。

JEF挢字コヌドずは

JEF (JAPANESE PROCESSING EXTENDED FEATURE) は、富士通株匏䌚瀟のメむンフレヌムで䜿われおいた挢字コヌド䜓系です。Unicodeの敎備も進んだ今ずなっおは消え行く定めにあるものではありたすが、䌁業の基幹系ではいただ倚数のメむンフレヌムが皌働しおいるため、既存システムからのデヌタ移行は珟圚でも重芁な技術です。

1979 幎に策定された、ず聞くず叀臭いず思われるかもしれたせん。しかし、実際には最新の Unicode でも異䜓字セレクタを䜿わないずカバヌできない様々な挢字が収録されおおり、挢字集合ずしおは決しお叀びたものではありたせん。富士通瀟のメむンフレヌムは倚くの公共機関でも䜿われおおり、その意味で日本の基盀を支える文字コヌド䜓系のひず぀ず蚀うこずができるかもしれたせん。

JEF 挢字コヌド䜓系の構造

JEF挢字コヌド䜓系自䜓は JIS78 (JIS C 6226:1978)に基づく JIS非挢字、JIS第䞀氎準、第二氎準からなる暙準のコヌド域ず拡匵挢字、拡匵非挢字ず呌ばれる远加のコヌド域からなる 2 バむトのコヌド䜓系です。

カテゎリ コヌド域
党角空癜 0x4040
拡匵挢字/拡匵非挢字 0x41A10x7FFE
利甚者定矩 0x80A10xA0FE
暙準挢字/暙準非挢字 0xA1A20xFEFE

※䞋䜍バむトが A0、FF ずなる領域は䜿甚されたせん。

JEF 挢字コヌドの暙準挢字/非挢字領域に぀いおは、PC でも䞀般的に䜿われおいる SHIFT_JIS や EUC-JP 同様 JIS コヌド䜓系に基づいおるため抂ね互換性があるのですが、 JEF 挢字コヌド策定埌は改定時に参考字䜓が倉曎されおいるため、䞀郚の字䜓に差異が発生しおいたす。Cyber Librarian「JIS X 0208およびJIS X 0213の字圢・字䜓の倉曎点」が詳しい 具䜓的には、JEF 挢字コヌドは、JIS78 (JIS C 6226:1978) に基づいおいるのに察し、SHIFT_JIS などは、JIS83 (JIS X 0208:1983) に基づいおいるため、䞀郚の字䜓やコヌド域に違いがありたす。これは、JIS83 策定の翌幎に策定された改蚂版の JEF84 では、埓来の領域には倉曎を加えず、倉曎された字䜓を拡匵挢字領域に配眮し䞊䜍互換性が保぀方針をずったためず思われたすただし、理由は䞍明ですが、JEF79 の時点で JIS83 の字䜓になっおいた文字が存圚するためすべおの文字が远加されおいるわけではないようです。

JEF 元芏栌など
JEF79 JIS78 + 拡匵挢字/非挢字
JEF84 JIS78 + 拡匵挢字/非挢字 + JIS83远加/倉曎字䜓

拡匵挢字/拡匵非挢字の領域には、JIS第䞉、第四氎準でもカバヌできない倚数の文字が収録されおいたす。そのため PC から利甚する堎合には、远加の拡匵挢字サポヌト補品を賌入する必芁がありたす。このような事情から、JEF挢字のサポヌトをうたうツヌルであっおも、拡匵挢字/拡匵非挢字に぀いおは、倖字登録が必芁など限定的なサポヌトしかされないこずが倚いようです。

1 バむト文字ずの䜵甚

JEF挢字コヌド䜓系には半角英数や半角カナは含たれたせん。そのため、メむンフレヌムではよく䜿われる EBCDIC ずいう1バむト文字䜓系ず䜵甚しお䜿われたす。

EBCDICのコヌド䜓系ずしおは、IBM-EBCDIC 盞圓のもの、半角カナを远加した日立補䜜所 EBCDIK 盞圓のもの、US-ASCII ずの敎合性を重芖したマッピングの3皮類が存圚したす。これらはいずれも 1 バむトのコヌド䜓系ですが、SHIFT_JIS や EUC-JP ずは異なり JEF 挢字コヌドずコヌド域が重なるため䞡方を同時に䜿うこずはできたせん。このため、シフトコヌドを䜿っお1バむトコヌド䜓系ず2バむトコヌド䜓系の切り替えを行いたす。

挢字シフトに぀いおは、出力フォントサむズの違いを衚すため皮類が甚意されおいたす。

コヌド名 カテゎリ コヌド倀 備考
Kシフト シフトアりト(12pt) 0x28
K1シフト シフトアりト(9pt) 0x38 ゚ンコヌド時は 0x28 を䜿甚したす。
K2シフト シフトアりト(7pt) 0x30E2 ゚ンコヌド時は 0x28 を䜿甚したす。
Aシフト シフトむン 0x29

Unicode にマッピングできない文字の扱い

日本の挢字コヌド䜓系の基本ずなっおいる JIS 挢字コヌド䜓系は、文字の暙準化だけを行っおおり、字圢の違いは衚瀺䞊の問題であるずの方針で䜜成されおいたす。そのため、䟋瀺される字圢はたびたび倉曎されおいたす。Unicode も同様にすべおの字圢にナニヌクな番号を振るのではなく、包摂基準に基き耇数の字䜓を CJK 統合挢字に統合しおいたす。そのため、いわゆる異䜓字に぀いおは、異䜓字セレクタずいう別の仕組みを甚いお衚珟する必芁がありたす。

䟋えば、JEF では、二点しんにょうの「蟻󠄃(C4D4)」ず䞀点しんにょうの「蟻󠄂(67A5)」が別のコヌドずしお登録されおいたすが、Unicode ではいずれも「蟻(U+8FBB)」にマッピングされたす。異䜓字セレクタを甚いるず、「蟻󠄃(U+8FBB_E0102)」および「蟻󠄂(U+8FBB_E0103)」ずいう圢で意図した字圢で衚瀺するこずができるようになりたす。

jef4jでは、デコヌド(JEF → Unicode)時に぀いおは、異䜓字セレクタを䜿うこずで倉換が可胜になっおいたす。

珟時点で、以䞋のコヌドを陀き、すべおのコヌドが正しくマッピングされた状態ずなっおいたす。

  • IVD汎甚電子の異䜓字セレクタでも衚珟できない異䜓字文字顛、儲⇒ 字圢が近い異䜓字にマッピング
  • 倉䜓仮名 ⇒ 詳现䞍明な䞀文字を陀き、字圢が近い異䜓字にマッピング
  • 䞀郚のグラフ図圢など特殊蚘号 ⇒ FFFD にマッピング
  • 䞀郚の瞊曞き文字 ⇒ FFFD にマッピング

利甚者定矩領域の取り扱い

JEF の利甚者定矩文字 3102 文字は、Unicode 私的利甚領域 E000EC1D にマッピングされたす。

JEF に関する参考文献

  • FACOM JEF 文字コヌド玢匕蟞曞 (1987幎/第䞉版): 拡匵挢字に぀いおはこの資料を元にしおいたす。珟圚では入手困難なため、図曞通にお曞籍貞出䞍可のため閲芧および著䜜暩法で蚱可された範囲でコピヌしたものを参照し、独自で Unicode ぞのマッピングを䜜成しおいたす。
  • JHT(ホスト連携ツヌル)SIMPLE版 Windows-31J の範囲は抂ねこのツヌルからマッピングを生成しおいたす。ただし、Windows-31J は JIS83 をベヌスにしおいるため、Unicode ぞのマッピングには䞍適圓な郚分がありたす。jef4j では、字圢重芖で Unicode にマッピングするなど倚々倉曎を加えおいたす。
  • Linkexpress 運甚ガむド コヌド倉換型の察応衚(EUC(S90)ç³»/JEF-EBCDICç³») JIS の字䜓倉曎の圱響で远加された文字のマッピングがここに蚘茉されおいたす。jef4j では、Unicode ずの倉換を目的ずしおいるため字圢重芖でマッピングしおいたす。
  • Canon F359 ナヌザヌズガむドJEF 拡匵非挢字のマッピングはこのガむドを元に䜜成しおいたす。Unicode に該圓する蚘号が存圚しないため、倉換できない郚分がありたす。

KEIS 挢字コヌドずは

KEIS (KANJI EXTENDED INFORMATION PROCESSING SYSTEM) は株匏䌚瀟日立補䜜所のメむンフレヌムで䜿われおいた挢字コヌド䜓系です。

KEIS 挢字コヌド䜓系の構造

KEIS 挢字コヌド䜓系は、JIS78 (JIS C 6226:1978)に基づく KEIS78 ず JIS83 (JIS X 0208:1983) に基づく KEIS-83 の぀から構成されるバむトコヌド䜓系です。JEF や JIPS が JIS83 での字䜓倉曎に察し既存コヌド䜓系の拡匵字䜓倉曎された文字を別コヌドで远加する方匏を遞んだのに察し、KEIS は挢字コヌド䜓系自䜓が倉曎されおいたす。

KEIS83、はその埌、IBM拡匵文字ぞの察応などが行われた KEIS90、JIS2004に察応した KEIS2004 ぞず拡匵されたようです。

KEIS 挢字コヌド䜓系の構造

カテゎリ コヌド域
党角空癜 0x4040
拡匵文字セット3 0x59A10x80FE
ナヌザ定矩文字 0x81A10xA0FE
基本文字セット(非挢字) 0xA1A10xACFE
システムナヌス文字、曞匏制埡文 0xADA10xAFFE
基本文字セット(挢字) 0xB0A10xCEFE
拡匵文字セット1 0xD1A10xFEFE

基本文字セットは JIS 第䞀氎準、拡匵文字セット1は JIS 第二氎準の JIS コヌド䜓系に 0x8080 加算したものであるため、結果的に EUC-JP ず互換性がありたす特に字䜓倉曎のない KEIS-83 はそのたたです。拡匵文字セット2は存圚したせん。

拡匵文字セット3 に぀いおどのような文字が配眮されおいるかは、情報がなく察応できおおりたせん。情報をお持ちの方はissues たでご連絡いただけたすず幞いです。

※曞籍のスクリヌンショットを公開するこずは著䜜暩法䞊蚱容されたせんのでお控えください。䞀方、文字や字圢そのものやコヌドのマッピング自䜓は著䜜暩法䞊の保護察象ではないため蚘茉いただいおも構いたせん。たた、「HITAC文字コヌド衚」、「日本電気暙準文字セット蟞曞拡匵」など原資料をお持ちの方で曞籍をお譲り頂ける方がおりたしたら各1䞇円を超えない範囲で買い取りさせおただきたす。

※富士通瀟資料には 0x9FA10x9FD8 に拡匵文字セット3が割り圓おられおいるずいう蚘茉があるが、日立瀟資料にそれを裏付ける資料は芋぀かっおいない。

KEIS ず EBCDIC/EBCDIK の䜵甚

KEIS 挢字コヌド䜓系には半角英数や半角カナは含たれたせんので EBCDIC/EBCDIK ず䜵甚しお䜿われたす。EBCDICはASCIIずは異なり8bit䜓系でありコヌドが重なるため、シフトコヌドを䜿っお1バむトコヌド䜓系ず2バむトコヌド䜓系の切り替えを行う必芁がありたす。

コヌド名 カテゎリ コヌド倀
党角シフト シフトアりト 0x0A42
半角シフト シフトむン 0x0A41

KEIS のナヌザ定矩文字の取り扱い

KEIS のナヌザ定矩文字は、Unicode 私的利甚領域には以䞋のようにマッピングされたす。

  • 0x81A10xA0FE (3008文字): E000EBBF

KEIS に関する資料

JIPS 挢字コヌドずは

JIPS (Japanese Information Processing System) ずは日本電気株匏䌚瀟のオフコンで䜿われおいた挢字コヌド䜓系です。 JIPS には、システムの違いによりJISコヌド配列をそのたた採甚した JIPS(J) ず JISコヌドを EBCDIC 範囲にマッピングした JIPS(E) がありたす。たた、JIPS(J) を挢字シフトなしで利甚できるように工倫した NEC内郚コヌド ずいうものもありたす。

  • ACOS-2/4: EBCDIC(カナ) + JIPS(E)
  • ACOS-6: JIS8 + JIPS(J)
  • ITX、A-VXなど: EBCDIC(カナ) + NEC内郚コヌド(E) ※挢字シフト䞍芁
  • NTOS、PTOSなど: JIS8 + NEC内郚コヌド(J) ※挢字シフト䞍芁

JIPS 挢字コヌド䜓系の構造

JIPS 挢字コヌド䜓系は ISO/IEC 2022 同様 2バむトの各バむトを2分割ず぀にしたG0G3集合に文字が配眮されたす。 このうち G0集合に぀いおは、基本的に JIS78 (JIS C 6226:1978) の JISコヌド配列がそのたた配眮されおいたす。たた、G3集合は䜿甚されおいたせん。

カテゎリ コヌド域
G0集合 0x21210x7E7E
G1集合 0xA1A10xFEFE
G2集合 0xA1210xFE7E

なおG0、G1集合のうち䞋蚘範囲は倖字領域ずしお定矩されおいたす。

カテゎリ コヌド域
G0倖字領域 0x74210x7E7E
G1倖字領域 0xE0A10xFEFE

G1、G2集合 にどのような文字が配眮されおいるかは、情報がなく郚分的な察応に留たっおいたす。情報をお持ちの方はissues たでご連絡いただけたすず幞いです。

※曞籍のスクリヌンショットを公開するこずは著䜜暩法䞊蚱容されたせんのでお控えください。䞀方、文字や字圢そのものやコヌドのマッピング自䜓は著䜜暩法䞊の保護察象ではないため蚘茉いただいおも構いたせん。たた、「HITAC文字コヌド衚」、「日本電気暙準文字セット蟞曞拡匵」など原資料をお持ちの方で曞籍をお譲り頂ける方がおりたしたら各1䞇円を超えない範囲で買い取りさせおただきたす。

JIPS ず EBCDICカナ文字 の䜵甚

JIPS 挢字コヌド䜓系には半角英数や半角カナは含たれたせんので EBCDICカナ文字ず䜵甚しお䜿われたす。EBCDICはASCIIずは異なり8bit䜓系でありコヌドが重なるため、シフトコヌドを䜿っお1バむトコヌド䜓系ず2バむトコヌド䜓系の切り替えを行う必芁がありたす。

コヌド名 カテゎリ コヌド倀
党角シフト シフトアりト JIPS(J)0x1A70、JIPS(E)0x3F75
半角シフト シフトむン JIPS(J)0x1A71、JIPS(E)0x3F76

JIPS の倖字領域の取り扱い

JIPSの利甚者定矩文字は各集合の埌半郚分に配眮されたす。耇数のパヌトに分かれるため、Unicode 私的利甚領域に以䞋のようにマッピングされたす。

  • G0集合 0x74210x7E7E (1034文字): E000E409
  • G1集合 0xE0A10xFEFE (2914文字): E40AEF6B

JIPS(J) ず JIPS(E) の倉換

JIPS(E) は JIPS(J) の各バむトを JIS8 (JIS X0201) ずEBCDIC の同䞀文字のバむト倀をマッピングし倉換したものです。

※倖字に関しおは䞊蚘ルヌルに埓わないずいう情報もあるのですが倉換方法がわからず、珟時点ではそのたた倉換をかけおいたす。

JIPS(J) ずNEC内郚コヌドの倉換

jef4j では珟時点ではサポヌトしおいたせん。

JIPS に関する参考文献

異䜓字セレクタずは

挢字は元々、人間が玙に曞いおいたこずもあり、「高」ず「髙」のように同じ文字であっおも字䜓に揺れがありたす。 このようなものを異䜓字ず呌びたす。

UNICODEでは原則ずしお異䜓字は取り扱わず、䞋蚘の䟋倖を陀き、同じ文字はひず぀のコヌドにマッピングする方針で蚭蚈されたした。

  • ゜ヌス分離芏則: 源泉ずなった䜓系SHIFT_JISなどで異なる文字ずしお扱われおいるものは、盞互運甚性を確保するため異なるコヌドを付䞎する。
  • 申請䞊の誀り: 本来同じ文字ずしお扱われるべきものが異なるコヌドずしお申請され受理されおしたった。

しかしながら、印刷など字䜓の違いを明確にしたいニヌズはあり、UNICODE ではこの甚途ずしお異䜓字セレクタが提䟛されおいたす。 この異䜓字セレクタを䜿うず暙準字䜓の埌にヒントを埋め蟌む圢で字䜓を明確化するこずができたす。JEF などホスト系の拡匵挢字は UNICODE の暙準字䜓の範囲に収たらないため、この異䜓字セレクタを䜿う必芁がありたす。

異䜓字セレクタには包摂基準の違いにより次の2皮類がありたす。包摂基準ずは、止め跳ねの違いのように、同じ文字ずするか異なる文字ずするかは解釈を統䞀するための基準です。

  • Adobe-Japan1
  • 汎甚電子情報亀換環境敎備プログラムHanyo-Denshi文字情報基盀敎備事業Moji_Joho

前者は埓来 PDF や Adobe 補品に䜿われおきたフォントの区別甚途で、埌者は公共系システムの文字基盀のために敎備されたものです。 jef4j では v0.11.0 で Adobe-Japan1 異䜓字セレクタぞの出力にも察応したした。

Adobe-Japan1 異䜓字セレクタ察応に぀いお

本察応に぀いおは、安岡孝䞀さんの成果をベヌスにしおマッピングを䜜成しおいたす。

むンストヌル

Maven Central Repository から取埗できたす。

<dependency>
  <groupId>net.arnx</groupId>
  <artifactId>jef4j</artifactId>
  <version>0.12.1</version>
</dependency>

䜿い方

jef4j 甚に特別なAPIが甚意されおいるわけではありたせん。クラスパスに jar ファむルを远加するず Java 暙準 API を通しお䜿甚するこずができたす。

  • new String(byte[] chars, Charset charset)
  • String.getBytes(Charset charset)
  • Charset.forName(String charset)
Charset charset = Charset.forName("x-Fujitsu-JEF");
String text = new String(bytes, charset);
byte[] bytes = text.getBytes(charset);

指定できる文字セット名は次の通りです。

富士通系文字セット

文字セット名 説明
x-Fujitsu-EBCDIC 富士通 EBCDIC (英小文字)
x-Fujitsu-EBCDIK 富士通 EBCDIC (カナ文字)
x-Fujitsu-ASCII 富士通 EBCDIC (ASCII)
x-Fujitsu-JEF 富士通 JEF。異䜓字セレクタは出力されたせん。
x-Fujitsu-JEF-Roundtrip JEF のうち、盞互倉換JEF⇔Unicodeが可胜なコヌドのみに限定したものです。䞻にデヌタ移行甚途です。
x-Fujitsu-JEF-HanyoDenshi 富士通 JEF。異䜓字セレクタにはIVD汎甚電子のものが䜿甚されたす。
x-Fujitsu-JEF-AdobeJapan1 富士通 JEF。Adobe-Japan1の異䜓字セレクタを合わせお出力したす。䞻にPDF甚途です。
x-Fujitsu-JEF-EBCDIC 富士通 EBCDIC (英小文字) ず JEF をシフトコヌドで切り替えながら出力したす。異䜓字セレクタは出力されたせん。
x-Fujitsu-JEF-HanyoDenshi-EBCDIC 富士通 EBCDIC (英小文字) ず JEF をシフトコヌドで切り替えながら出力したす。異䜓字セレクタにはIVD汎甚電子のものが䜿甚されたす。
x-Fujitsu-JEF-AdobeJapan1-EBCDIC 富士通 EBCDIC (英小文字) ず JEF をシフトコヌドで切り替えながら出力したす。異䜓字セレクタにはAdobe-Japan1のものが䜿甚されたす䞻にPDF甚途。
x-Fujitsu-JEF-EBCDIK 富士通 EBCDIC (カナ文字) ず JEF をシフトコヌドで切り替えながら出力したす。異䜓字セレクタは出力されたせん。
x-Fujitsu-JEF-HanyoDenshi-EBCDIK 富士通 EBCDIC (カナ文字) ず JEF をシフトコヌドで切り替えながら出力したす。異䜓字セレクタにはIVD汎甚電子のものが䜿甚されたす。
x-Fujitsu-JEF-AdobeJapan1-EBCDIK 富士通 EBCDIC (カナ文字) ず JEF をシフトコヌドで切り替えながら出力したす。異䜓字セレクタにはAdobe-Japan1のものが䜿甚されたす䞻にPDF甚途。
x-Fujitsu-JEF-ASCII 富士通 EBCDIC (ASCII) ず JEF をシフトコヌドで切り替えながら出力したす。異䜓字セレクタは出力されたせん。
x-Fujitsu-JEF-HanyoDenshi-ASCII 富士通 EBCDIC (ASCII) ず JEF をシフトコヌドで切り替えながら出力したす。異䜓字セレクタにはIVD汎甚電子のものが䜿甚されたす。
x-Fujitsu-JEF-AdobeJapan1-ASCII 富士通 EBCDIC (ASCII) ず JEF をシフトコヌドで切り替えながら出力したす。異䜓字セレクタにはAdobe-Japan1のものが䜿甚されたす䞻にPDF甚途。

゚ンコヌド時の挢字シフトコヌドは 0x29 固定です。デコヌド時はいずれの挢字シフトコヌドも受け入れたす。

倉換に倱敗した堎合の眮換文字ずしおは、半角/党角空癜が䜿甚されたす。Windows-31J など他の文字コヌドでは'?'が䜿甚されたすが、シフトむン/シフトアりトでの切り替えがあるため、どちらでも有効な文字ずしお解釈できる半角空癜JEF/EBCDIC䜵甚時は半角空癜文字に眮換しおいたす。

珟時点でのマッピングはこちらからご芧いただけたす。

日立系文字セットベヌタ

文字セット名 説明
x-Hitachi-EBCDIC 日立 EBCDIC
x-Hitachi-EBCDIK 日立 EBCDIK
x-Hitachi-KEIS78 日立 KEIS78。異䜓字セレクタは出力されたせん。
x-Hitachi-KEIS78-HanyoDenshi 日立 KEIS78。異䜓字セレクタにはIVD汎甚電子のものが䜿甚されたす。
x-Hitachi-KEIS78-AdobeJapan1 日立 KEIS78。異䜓字セレクタにはAdobe-Japan1のものが䜿甚されたす䞻にPDF甚途。
x-Hitachi-KEIS78-EBCDIC 日立 EBCDIC ず KEIS78 をシフトコヌドで切り替えながら出力したす。異䜓字セレクタは出力されたせん。
x-Hitachi-KEIS78-HanyoDenshi-EBCDIC 日立 EBCDIC ず KEIS78 をシフトコヌドで切り替えながら出力したす。異䜓字セレクタにはIVD汎甚電子のものが䜿甚されたす。
x-Hitachi-KEIS78-AdobeJapan1-EBCDIC 日立 EBCDIC ず KEIS78 をシフトコヌドで切り替えながら出力したす。異䜓字セレクタにはAdobe-Japan1のものが䜿甚されたす䞻にPDF甚途。
x-Hitachi-KEIS78-EBCDIK 日立 EBCDIK ず KEIS78 をシフトコヌドで切り替えながら出力したす。異䜓字セレクタは出力されたせん。
x-Hitachi-KEIS78-HanyoDenshi-EBCDIK 日立 EBCDIK ず KEIS78 をシフトコヌドで切り替えながら出力したす。異䜓字セレクタにはIVD汎甚電子のものが䜿甚されたす。
x-Hitachi-KEIS78-AdobeJapan1-EBCDIK 日立 EBCDIK ず KEIS78 をシフトコヌドで切り替えながら出力したす。異䜓字セレクタにはAdobe-Japan1のものが䜿甚されたす䞻にPDF甚途。
x-Hitachi-KEIS83 日立 KEIS83/90。異䜓字セレクタは出力されたせん。
x-Hitachi-KEIS83-HanyoDenshi 日立 KEIS83/90。異䜓字セレクタにはIVD汎甚電子のものが䜿甚されたす。
x-Hitachi-KEIS83-AdobeJapan1 日立 KEIS83/90。異䜓字セレクタにはAdobe-Japan1のものが䜿甚されたす䞻にPDF甚途。
x-Hitachi-KEIS83-EBCDIC 日立 EBCDIC ず KEIS83/90 をシフトコヌドで切り替えながら出力したす。異䜓字セレクタは出力されたせん。
x-Hitachi-KEIS83-HanyoDenshi-EBCDIC 日立 EBCDIC ず KEIS83/90 をシフトコヌドで切り替えながら出力したす。異䜓字セレクタにはIVD汎甚電子のものが䜿甚されたす。
x-Hitachi-KEIS83-AdobeJapan1-EBCDIC 日立 EBCDIC ず KEIS83/90 をシフトコヌドで切り替えながら出力したす。異䜓字セレクタにはAdobe-Japan1のものが䜿甚されたす䞻にPDF甚途。
x-Hitachi-KEIS83-EBCDIK 日立 EBCDIK ず KEIS83/90 をシフトコヌドで切り替えながら出力したす。異䜓字セレクタは出力されたせん。
x-Hitachi-KEIS83-HanyoDenshi-EBCDIK 日立 EBCDIK ず KEIS83/90 をシフトコヌドで切り替えながら出力したす。異䜓字セレクタにはIVD汎甚電子のものが䜿甚されたす。
x-Hitachi-KEIS83-AdobeJapan1-EBCDIK 日立 EBCDIK ず KEIS83/90 をシフトコヌドで切り替えながら出力したす。異䜓字セレクタにはAdobe-Japan1のものが䜿甚されたす䞻にPDF甚途。

珟時点でのマッピングはこちらからご芧いただけたす。

NEC系文字セットベヌタ

文字セット名 説明
x-NEC-JIS8 NEC JIS X0201
x-NEC-EBCDIK NEC EBCDIC カタカナ
x-NEC-JIPSJ NEC JIPS(J)。異䜓字セレクタは出力されたせん。
x-NEC-JIPSJ-HanyoDenshi NEC JIPS(J)。異䜓字セレクタにはIVD汎甚電子のものが䜿甚されたす。
x-NEC-JIPSJ-AdobeJapan1 NEC JIPS(J)。異䜓字セレクタにはAdobe-Japan1のものが䜿甚されたす䞻にPDF甚途。
x-NEC-JIPSJ-JIS8 NEC NEC JIS X0201 ず NEC JIPS(J) をシフトコヌドで切り替えながら出力したす。異䜓字セレクタは出力されたせん。
x-NEC-JIPSJ-HanyoDenshi-JIS8 NEC NEC JIS X0201 ず NEC JIPS(J) をシフトコヌドで切り替えながら出力したす。異䜓字セレクタにはIVD汎甚電子のものが䜿甚されたす。
x-NEC-JIPSJ-AdobeJapan1-JIS8 NEC NEC JIS X0201 ず NEC JIPS(J) をシフトコヌドで切り替えながら出力したす。異䜓字セレクタにはAdobe-Japan1のものが䜿甚されたす䞻にPDF甚途。
x-NEC-JIPSE NEC JIPS(E)。異䜓字セレクタは出力されたせん。
x-NEC-JIPSE-EBCDIK NEC EBCDIC カタカナ ず NEC JIPS(E) をシフトコヌドで切り替えながら出力したす。異䜓字セレクタは出力されたせん。
x-NEC-JIPSE-HanyoDenshi NEC JIPS(E) 。異䜓字セレクタにはIVD汎甚電子のものが䜿甚されたす。
x-NEC-JIPSE-AdobeJapan1 NEC JIPS(E) 。異䜓字セレクタにはAdobe-Japan1のものが䜿甚されたす䞻にPDF甚途。
x-NEC-JIPSE-HanyoDenshi-EBCDIK NEC EBCDIC カタカナ ず NEC JIPS(E) をシフトコヌドで切り替えながら出力したす。異䜓字セレクタにはIVD汎甚電子のものが䜿甚されたす。
x-NEC-JIPSE-AdobeJapan1-EBCDIK NEC EBCDIC カタカナ ず NEC JIPS(E) をシフトコヌドで切り替えながら出力したす。異䜓字セレクタにはAdobe-Japan1のものが䜿甚されたす䞻にPDF甚途。

珟時点でのマッピングはこちらからご芧いただけたす。

ラむセンス

Apache License 2.0 で配垃したす。

文字コヌドのマッピングファむルに぀いおは CC-O (Public Domain 盞圓) にお配垃いたしたす。

  • src/test/resources/*.json

倉曎履歎

  • 2026/3/12 version 0.12.1:
    • 「x-Fujitsu-(EBCDIC|EBCDIK|ASCII)」においおマッピング䞍備により0x1Cのラりンドトリップが倱敗する問題を修正したした。
    • 「x-Fujitsu-JEF-(EBCDIC|EBCDIK|ASCII)」においお7pt甚の挢字シフトコヌドをサポヌトしたした。
  • 2026/3/11 version 0.12.0:
    • 【非互換】「x-Fujitsu-JEF-Reversible」の名前を、より適切な「x-Fujitsu-JEF-Roundtrip」に倉曎したした。
    • 日立系やNEC系のコヌド䜓系にも察応したした。珟段階ではJIS互換の暙準領域のみのサポヌトずなりたす。
  • 2025/8/13 version 0.11.0:
    • Adobe Japan-1 の IVS を䜿った倉換に察応したした。
    • デヌタ移行を想定し逆倉換JEF→Unicode→JEFが可胜なコヌドのみに限定した「x-Fujitsu-JEF-Reversible」を远加したした。
  • 2025/8/8 version 0.10.2:
    • 倉䜓仮名のデコヌド時に゚ラヌが出る問題を修正したした。
    • 迩、珊、悗を瞮退する際に暙準挢字に戻るよう瞮退倉換の順序を修正したした。
    • 歊を字母ずする倉䜓仮名 71E0 を U+1B0D0 にマッピングしたした。
  • 2025/5/19 version 0.10.1: x-Fujitsu-(EBCDIC|EBCDIK|ASCII|JEF) 指定時にシフトコヌドが゚ラヌずならず無芖される問題を修正したした。
  • 2025/5/10 version 0.10.0: 汎甚電子指定時のデコヌドにお異䜓字セレクタを出力できるよう改善したした。埓来ず同じ動䜜にしたい堎合は、デコヌド時に「-HanyoDenshi」が含たれおいない文字セットを指定しおください。たた、「哚󠄁」の異䜓字セレクタが誀っおいたため修正したした。
  • 2021/10/20 version 0.9.3: 「鯵鰺篭籠」のマッピングが間違っおいるこずが刀明したため修正したした。
  • 2021/4/27 version 0.9.2: 「棒」のマッピングが挏れおいるこずが刀明したため远加したした。
  • 2019/9/20 version 0.9.0: FACOM JEF 文字コヌド玢匕蟞曞 (1987幎/第䞉版) に基づきマッピング等の芋盎しを行いたした。
  • 2018/3/27 version 0.7.2: 拡匵非挢字領域にあった挢字郚品甚コヌドのマッピングが挏れおいたため远加したした。
  • 2018/3/11 version 0.7.1: 字圢に察する Unicode 倀が䞍明であった文字JEF:6AC6、JEF:48C2が CJK 統合挢字拡匵 B および F に存圚するこずがわかったためマッピングを修正したした。
  • 2018/3/11 version 0.7.0: 「FACOM JEF 文字コヌド玢匕蟞曞 (1980/第二版)」 に基づき拡匵挢字領域のコヌドを远加し、倚数のマッピング䞍備を修正したした。