// ==UserScript==
// @name 康煕部首文字置き換えスクリプト
// @namespace http://tampermonkey.net/
// @version 0.4
// @description Replace Kangxi radicals with normal characters based on provided data
// @author You
// @match *://*/*
// @grant none
// @license MIT
// ==/UserScript==
(function() {
'use strict';
// カンマ区切りのデータから対応表を作成する
var data = `CID,検索,置換,検索,置換
14305,2e83,4e5a,⺃,乚
13856,2e85,4ebb,⺅,亻
14356,2e89,5202,⺉,刂
14110,2e8b,353e,⺋,㔾
4209,2e8e,5140,⺎,兀
14476,2e8f,5c23,⺏,尣
4646,2e90,5c22,⺐,尢
3762,2e92,5df3,⺒,巳
4739,2e93,5e7a,⺓,幺
4779,2e94,5f51,⺔,彑
14530,2e96,5fc4,⺖,忄
14561,2e98,624c,⺘,扌
5059,2e99,6535,⺙,攵
5089,2e9b,65e1,⺛,旡
3644,2e9f,6bcd,⺟,母
3773,2ea0,6c11,⺠,民
14689,2ea1,6c35,⺡,氵
14690,2ea2,6c3a,⺢,氺
14749,2ea3,706c,⺣,灬
14157,2ea6,4e2c,⺦,丬
14780,2ea8,72ad,⺨,犭
14999,2eab,7f52,⺫,罒
2260,2eac,793a,⺬,示
14905,2ead,793b,⺭,礻
15000,2eb1,7f53,⺱,罓
14999,2eb2,7f52,⺲,罒
14099,2eb9,8002,⺹,耂
14197,2ebe,8279,⺾,艹
1931,2ec1,864e,⻁,虎
15114,2ec2,8864,⻂,衤
13870,2ec3,8980,⻃,覀
2658,2ec4,897f,⻄,西
15184,2ecd,8fb6,⻍,辶
15262,2ecf,961d,⻏,阝
3029,2ed1,9577,⻑,長
15255,2ed2,9578,⻒,镸
15262,2ed6,961d,⻖,阝
2664,2ed8,9752,⻘,青
13848,2edf,98e0,⻟,飠
1614,2ee4,9b3c,⻤,鬼
3380,2ee8,9ea6,⻨,麦
1323,2ee9,9ec4,⻩,黄
2666,2eeb,6589,⻫,斉
2243,2eed,6b6f,⻭,歯
3965,2eef,7adc,⻯,竜
1615,2ef2,4e80,⻲,亀
1200,2f00,4e00,⼀,一
8371,2f01,4e28,⼁,丨
4095,2f02,4e36,⼂,丶
4097,2f03,4e3f,⼃,丿
1333,2f04,4e59,⼄,乙
4102,2f05,4e85,⼅,亅
3275,2f06,4e8c,⼆,二
4110,2f07,4ea0,⼇,亠
2579,2f08,4eba,⼈,人
4208,2f09,513f,⼉,儿
3286,2f0a,5165,⼊,入
3392,2f0b,516b,⼋,八
4219,2f0c,5182,⼌,冂
4227,2f0d,5196,⼍,冖
4233,2f0e,51ab,⼎,冫
4243,2f0f,51e0,⼏,几
4248,2f10,51f5,⼐,凵
3163,2f11,5200,⼑,刀
3991,2f12,529b,⼒,力
4294,2f13,52f9,⼓,勹
4301,2f14,5315,⼔,匕
4302,2f15,531a,⼕,匚
4307,2f16,5338,⼖,匸
2375,2f17,5341,⼗,十
3708,2f18,535c,⼘,卜
4316,2f19,5369,⼙,卩
4321,2f1a,5382,⼚,厂
4328,2f1b,53b6,⼛,厶
3746,2f1c,53c8,⼜,又
1969,2f1d,53e3,⼝,口
4459,2f1e,56d7,⼞,囗
3156,2f1f,571f,⼟,土
2204,2f20,58eb,⼠,士
4538,2f21,5902,⼡,夂
4539,2f22,590a,⼢,夊
3878,2f23,5915,⼣,夕
2887,2f24,5927,⼤,大
2433,2f25,5973,⼥,女
2208,2f26,5b50,⼦,子
4622,2f27,5b80,⼧,宀
2631,2f28,5bf8,⼨,寸
2454,2f29,5c0f,⼩,小
4646,2f2a,5c22,⼪,尢
4648,2f2b,5c38,⼫,尸
4658,2f2c,5c6e,⼬,屮
2177,2f2d,5c71,⼭,山
4716,2f2e,5ddb,⼮,巛
1979,2f2f,5de5,⼯,工
1918,2f30,5df1,⼰,己
1738,2f31,5dfe,⼱,巾
1519,2f32,5e72,⼲,干
4739,2f33,5e7a,⼳,幺
4741,2f34,5e7f,⼴,广
4761,2f35,5ef4,⼵,廴
4763,2f36,5efe,⼶,廾
4768,2f37,5f0b,⼷,弋
1655,2f38,5f13,⼸,弓
14521,2f39,5f50,⼹,彐
4783,2f3a,5f61,⼺,彡
4785,2f3b,5f73,⼻,彳
2554,2f3c,5fc3,⼼,心
4930,2f3d,6208,⼽,戈
1921,2f3e,6238,⼾,戸
2326,2f3f,624b,⼿,手
2215,2f40,652f,⽀,支
5058,2f41,6534,⽁,攴
3592,2f42,6587,⽂,文
3143,2f43,6597,⽃,斗
1740,2f44,65a4,⽄,斤
3661,2f45,65b9,⽅,方
5088,2f46,65e0,⽆,无
3284,2f47,65e5,⽇,日
5132,2f48,66f0,⽈,曰
1860,2f49,6708,⽉,月
3814,2f4a,6728,⽊,木
1853,2f4b,6b20,⽋,欠
2221,2f4c,6b62,⽌,止
5349,2f4d,6b79,⽍,歹
5364,2f4e,6bb3,⽎,殳
5368,2f4f,6bcb,⽏,毋
3450,2f50,6bd4,⽐,比
3807,2f51,6bdb,⽑,毛
2223,2f52,6c0f,⽒,氏
5378,2f53,6c14,⽓,气
2603,2f54,6c34,⽔,水
1360,2f55,706b,⽕,火
3066,2f56,722a,⽖,爪
3541,2f57,7236,⽗,父
5604,2f58,723b,⽘,爻
5606,2f59,723f,⽙,爿
3618,2f5a,7247,⽚,片
1383,2f5b,7259,⽛,牙
1671,2f5c,725b,⽜,牛
1880,2f5d,72ac,⽝,犬
1904,2f5e,7384,⽞,玄
1732,2f5f,7389,⽟,玉
1245,2f60,74dc,⽠,瓜
1504,2f61,74e6,⽡,瓦
1537,2f62,7518,⽢,甘
2652,2f63,751f,⽣,生
3899,2f64,7528,⽤,用
3134,2f65,7530,⽥,田
3479,2f66,758b,⽦,疋
14848,2f67,7592,⽧,疒
5783,2f68,7676,⽨,癶
3368,2f69,767d,⽩,白
3453,2f6a,76ae,⽪,皮
2172,2f6b,76bf,⽫,皿
3816,2f6c,76ee,⽬,目
3779,2f6d,77db,⽭,矛
3836,2f6e,77e2,⽮,矢
2676,2f6f,77f3,⽯,石
2260,2f70,793a,⽰,示
14913,2f71,79b8,⽱,禸
1363,2f72,79be,⽲,禾
1856,2f73,7a74,⽳,穴
3953,2f74,7acb,⽴,立
2971,2f75,7af9,⽵,竹
3606,2f76,7c73,⽶,米
2227,2f77,7cf8,⽷,糸
1544,2f78,7f36,⽸,缶
6163,2f79,7f51,⽹,网
3901,2f7a,7f8a,⽺,羊
1227,2f7b,7fbd,⽻,羽
4061,2f7c,8001,⽼,老
2261,2f7d,800c,⽽,而
6205,2f7e,8012,⽾,耒
2262,2f7f,8033,⽿,耳
6227,2f80,807f,⾀,聿
3281,2f81,8089,⾁,肉
2569,2f82,81e3,⾂,臣
2263,2f83,81ea,⾃,自
2232,2f84,81f3,⾄,至
1235,2f85,81fc,⾅,臼
2697,2f86,820c,⾆,舌
2726,2f87,821b,⾇,舛
2360,2f88,821f,⾈,舟
2081,2f89,826e,⾉,艮
2541,2f8a,8272,⾊,色
6322,2f8b,8278,⾋,艸
6479,2f8c,864d,⾌,虍
2988,2f8d,866b,⾍,虫
1858,2f8e,8840,⾎,血
2022,2f8f,884c,⾏,行
1189,2f90,8863,⾐,衣
6635,2f91,897e,⾑,襾
1887,2f92,898b,⾒,見
1455,2f93,89d2,⾓,角
1908,2f94,8a00,⾔,言
2921,2f95,8c37,⾕,谷
3198,2f96,8c46,⾖,豆
6742,2f97,8c55,⾗,豕
6745,2f98,8c78,⾘,豸
1419,2f99,8c9d,⾙,貝
2682,2f9a,8d64,⾚,赤
2808,2f9b,8d70,⾛,走
2829,2f9c,8db3,⾜,足
2574,2f9d,8eab,⾝,身
2306,2f9e,8eca,⾞,車
2575,2f9f,8f9b,⾟,辛
2914,2fa0,8fb0,⾠,辰
15183,2fa1,8fb5,⾡,辵
3874,2fa2,9091,⾢,邑
3243,2fa3,9149,⾣,酉
3428,2fa4,91c6,⾤,釆
3948,2fa5,91cc,⾥,里
1754,2fa6,91d1,⾦,金
3029,2fa7,9577,⾧,長
3827,2fa8,9580,⾨,門
3550,2fa9,961c,⾩,阜
7113,2faa,96b6,⾪,隶
7115,2fab,96b9,⾫,隹
1229,2fac,96e8,⾬,雨
8695,2fad,9751,⾭,靑
3463,2fae,975e,⾮,非
3800,2faf,9762,⾯,面
1461,2fb0,9769,⾰,革
7171,2fb1,97cb,⾱,韋
7173,2fb2,97ed,⾲,韭
1339,2fb3,97f3,⾳,音
3607,2fb4,9801,⾴,頁
3561,2fb5,98a8,⾵,風
3464,2fb6,98db,⾶,飛
2543,2fb7,98df,⾷,食
2335,2fb8,9996,⾸,首
2035,2fb9,9999,⾹,香
3333,2fba,99ac,⾺,馬
2062,2fbb,9aa8,⾻,骨
2036,2fbc,9ad8,⾼,高
7276,2fbd,9adf,⾽,髟
7293,2fbe,9b25,⾾,鬥
7299,2fbf,9b2f,⾿,鬯
7300,2fc0,9b32,⿀,鬲
1614,2fc1,9b3c,⿁,鬼
1685,2fc2,9b5a,⿂,魚
3031,2fc3,9ce5,⿃,鳥
7414,2fc4,9e75,⿄,鹵
2267,2fc5,9e7f,⿅,鹿
7425,2fc6,9ea5,⿆,麥
3729,2fc7,9ebb,⿇,麻
13323,2fc8,9ec3,⿈,黃
1642,2fc9,9ecd,⿉,黍
2055,2fca,9ed2,⿊,黒
7446,2fcb,9ef9,⿋,黹
7449,2fcc,9efd,⿌,黽
3102,2fcd,9f0e,⿍,鼎
1937,2fce,9f13,⿎,鼓
2767,2fcf,9f20,⿏,鼠
3475,2fd0,9f3b,⿐,鼻
7457,2fd1,9f4a,⿑,齊
7458,2fd2,9f52,⿒,齒
3966,2fd3,9f8d,⿓,龍
7472,2fd4,9f9c,⿔,龜
7473,2fd5,9fa0,⿕,龠`;
// カンマ区切りのデータから対応表を作成する
var lines = data.split('\n');
var kangxiRadicals = {};
for (var i = 1; i < lines.length; i++) {
var parts = lines[i].split(',');
if (parts.length >= 4) {
kangxiRadicals[parts[1]] = parts[2];
kangxiRadicals[parts[3]] = parts[4];
}
}
// ページ内のテキストを置き換える関数
function replaceText(node) {
if (node.nodeType === Node.TEXT_NODE) {
var text = node.nodeValue;
for (var radical in kangxiRadicals) {
var regex = new RegExp(radical, 'g');
text = text.replace(regex, kangxiRadicals[radical]);
}
node.nodeValue = text;
} else if (node.nodeType === Node.ELEMENT_NODE) {
for (var i = 0; i < node.childNodes.length; i++) {
replaceText(node.childNodes[i]);
}
}
}
// ページ内の全てのテキストを置き換える
replaceText(document.body);
})();