![見出し画像](https://blogimg.goo.ne.jp/image/upload/f_auto,q_auto,t_image_head_long/v1/user_image/77/bc/94dc60cb5b312e56492b7a5fc13b298c.jpg)
で作成した表をHTAで作成してみました。
こっちの方が高速です。
但し、ファイルのダウンロードはされているという前提
EXCEL/VBA と同様
JIS X 0213利用者有志による、相互扶助を目的としたウェブサイト というサイトに
http://x0213.org/
・JIS X 0213:2004 漢字8ビット符号とUnicodeの対応表
http://x0213.org/codetable/jisx0213-2004-8bit-std.txt
をダウンロードして入力ファイルにしています。
HTA でダウンロードする(若しくは直接URLで読み込む)やり方が今のところ分からない。
多分、勝手にダウンロードするのは、セキュリティ上問題があるからガードされているのでは?ないかと
こちらは、縦一列では見難いので、15列に編集してます。
また、SJISコードは、編集せずです。(function追加が要るので、取り敢えずいいかと…)
//******************************************************************************
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=Shift_JIS" />
<script type="text/javascript"><!--
String.__fromCharCode__ = String.fromCharCode;
String.fromCharCode = function(){
var buf = '';
for ( var i = 0, l = arguments.length; i < l; i++ ) {
var n = arguments[i];
if ( n < 0x10000 ) {
buf += String.__fromCharCode__(n);
continue;
}
n -= 0x10000;
buf += String.__fromCharCode__(
0xD800 + ( n >> 10 ),
0xDC00 + ( n & 0x3FF )
);
}
return buf;
};
function init() {
var fso = new ActiveXObject("Scripting.FileSystemObject");
var f = fso.GetFile("jisx0213-2004-8bit-std.txt");
var rs = f.OpenAsTextStream();
var str = [];
var jis = [];
var uni = [];
var moj = "";
var i = 0; // 点
var j = 0; // 列
var k = 0; // 区
var m = 0; // 面
var tmp = "";
var strhtml = "";
// 読込み(コメント部分読み飛ばし)
while (!rs.AtEndOfStream) {
str = rs.ReadLine().split("\t");
if (str[0].slice(0,2) != "##") { break; }
}
strhtml = "<table border=1 cellspacing=0 cellpadding=3 style='color : black; background-color : #ffffff;'>";
strhtml += "<tr style='color : white; background-color : #ff4500;'><th>面</th><th>区</th>";
strhtml += "<th>JIS</th><th>00</th><th>01</th><th>02</th><th>03</th><th>04</th><th>05</th><th>06</th><th>07</th>";
strhtml += "<th>08</th><th>09</th><th>10</th><th>11</th><th>12</th><th>13</th><th>14</th><th>15</th></font><tr>";
for (var i=0 ; i<=95 ; i++) { jis[i] = " "; uni[i] = " "; } // 配列クリア
while (!rs.AtEndOfStream) {
k = str[0].slice(2,4); // 区(HEX)
// 読込み(区単位で配列に溜込む)
while (str[0].slice(2,4) == k) {
if (parseInt(k,16) <= 128) {
i = (parseInt(str[0].slice(4,6),16)) - 32; // 点(10)
} else {
i = (parseInt(str[0].slice(4,6),16)) - 160; // 点(10)・2面
}
jis[i] = str[0]; uni[i] = str[1];
if (rs.AtEndOfStream) { break; }
str = rs.ReadLine().split("\t");
}
for (var i=0 ; i<=80 ; i+=16) {
// 先頭
if (i == 0) {
if (parseInt(k,16) <= 128) {
tmp = parseInt(k,16) - 32; // 区(10)
m = 1;
} else {
tmp = parseInt(k,16) - 160; // 区(10)・2面
m = 2;
}
strhtml += "<tr align=center><td rowspan=12 bgcolor=#CCFF" + k + "><font size=5>" + m;
strhtml += "</font><td rowspan=12 bgcolor=#CCFF" + k +"><font size=5>" + tmp + "</font></td></td>";
strhtml += "<td rowspan=2 bgcolor=#CCFF" + k +"><font size=4>" + jis[1] + "</font></td>";
} else {
strhtml += "<tr align=center><td rowspan=2 bgcolor=#CCFF" + k +"><font size=4>" + jis[i] + "</font></td>";
}
// 明細(文字)
for (var j=0 ; j<=15 ; j++) {
tmp = uni[i + j];
if (tmp ==" ") {
strhtml += "<td bgcolor=#dcdcdc> </td>";
} else if (tmp =="") {
strhtml += "<td bgcolor=#e0ffff> </td>";
} else {
if (tmp.length > 7) {
moj = String.fromCharCode(parseInt(tmp.slice(2,6), 16)) + String.fromCharCode(parseInt(tmp.slice(-4), 16));
strhtml += "<td bgcolor=#ffff00><font size=6 face='MS P明朝'>" + moj + "</font></td>";
} else {
if (tmp.length == 7) {
moj = String.fromCharCode(parseInt(tmp.slice(2,7), 16));
} else {
moj = String.fromCharCode(parseInt(tmp.slice(2,6), 16));
}
strhtml += "<td><font size=6 face='MS P明朝'>" + moj + "</font></td>";
}
}
}
strhtml += "</tr><tr align=center>";
// 明細(uni)
for (var j=0 ; j<=15 ; j++) {
tmp = uni[i + j];
if (tmp ==" ") {
strhtml += "<td bgcolor=#dcdcdc> </td>";
} else if (tmp =="") {
strhtml += "<td bgcolor=#e0ffff> </td>";
} else {
if (tmp.length > 7) {
tmp = tmp.slice(0,6) + "<br>" + tmp.slice(6);
}
strhtml += '<td><font size=2>' + tmp + '</font></td>';
}
}
strhtml += "</tr>";
}
for (var i=0 ; i<=95 ; i++) { jis[i] = " "; uni[i] = " "; } // 配列クリア
}
rs.close();
strhtml += "</table>";
document.write(strhtml);
}
/ --></script>
<body style="color : white; background-color : #000000;">
<h2 align="center">JIS UNICODE 文字コード表</h2>
<script type="text/javascript"><!--
window.resizeTo(1090, 1000);
init();
// --></script>
</body>
</html>
コメント一覧
![](https://blogimg.goo.ne.jp/image/upload/f_auto,q_auto,t_profile_square_m/v1/noimage/user_photo/gb25_noimage.png)
ブログオーナー
![](https://blogimg.goo.ne.jp/image/upload/f_auto,q_auto,t_profile_square_m/v1/noimage/user_photo/gb25_noimage.png)
⇒画像
![](https://blogimg.goo.ne.jp/image/upload/f_auto,q_auto,t_profile_square_m/v1/noimage/user_photo/gb25_noimage.png)
ブログオーナー
![](https://blogimg.goo.ne.jp/image/upload/f_auto,q_auto,t_profile_square_m/v1/noimage/user_photo/gb25_noimage.png)
ブログオーナー
最新の画像もっと見る
最近の「HTA」カテゴリーもっと見る
最近の記事
カテゴリー
- VBScript(2)
- Weblog(314)
- お仕事ツール(0)
- Saloon(1099)
- Node.js他(Python)(16)
- HTA(32)
- 決め・分け論(67)
- 映画・ドラマ(37)
- EXCEL VBA(35)
- PL/SQL(10)
- Java(11)
- 詩(自作)(5)
- 詩(塚原将)(298)
- 短歌(200)
- 題詠100首鑑賞(96)
- 題詠100首(109)
- ALIAS SMITH and JONES エピソード(1)
- 題詠100首2010(11)
- 読書(74)
- プロスポーツ(プロ野球、格闘技)(27)
- 日常・育児とか(88)
- 仕事(IT関係)(61)
- とほほ(33)
- 夢(32)
- 勝手にバトン(7)
- 写真(36)
- スタートレック視聴日誌草稿(24)
- 旅行(25)
- 嫌いな言葉(6)
- 好きな言葉(4)
バックナンバー
人気記事