/usr/share/skktools/convert2skk/edict2skk.awk is in skktools 1.3.3+0.20150901-1.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 | #!/usr/bin/gawk -f
# edict2skk.awk -- convert EDICT dictionary to SKK-JISYO format.
#
# Copyright (C) 1998, 1999, 2000 NAKAJIMA Mikio <minakaji@osaka.email.ne.jp>
#
# Author: NAKAJIMA Mikio <minakaji@osaka.email.ne.jp>
# Created: Dec. 5, 1998
# Last Modified: $Date: 2006/01/04 10:35:06 $
# Version: $Id: edict2skk.awk,v 1.5 2006/01/04 10:35:06 skk-cvs Exp $
# This file is part of Daredevil SKK.
# Daredevil SKK is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either versions 2, or (at your option)
# any later version.
#
# Daredevil SKK is distributed in the hope that it will be useful
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Daredevil SKK, see the file COPYING. If not, write to the
# Free Software Foundation Inc., 51 Franklin St, Fifth Floor, Boston,
# MA 02110-1301, USA.
#
# Commentary:
# This file encoding should be Ja/EUC.
#
# ¤³¤Î¥¹¥¯¥ê¥×¥È¤Ï¡¢James William Breen ¤Ë¤è¤ë EDICT ¤ò SKK-JISYO ¥Õ¥©¡¼
# ¥Þ¥Ã¥È¤ËÊÑ´¹¤¹¤ë¤â¤Î¤Ç¤¹¡£¤Ç¤¤¢¤¬¤Ã¤¿¼½ñ¤Ï¡¢SKK 10.x ¤ËÉÕ¤¤¤Æ¤¤¤ë
# skk-look.el ¤ò»È¤¦¤È͸úÍøÍѤǤ¤ë¤Î¤Ç¤Ï¤Ê¤¤¤«¤È¹Í¤¨¤Æ¤¤¤Þ¤¹¡£
#
# EDICT ¤Ï¡¢
# ftp://ftp.u-aizu.ac.jp:/pub/SciEng/nihongo/ftp.cc.monash.edu.au/
# ¤«¤é get ¤Ç¤¤Þ¤¹¡£
#
# ¤³¤Î edict ¤ò edict2skk.awk ¤È SKK jisyo-tools ¤Î¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ²Ã
# ¹©¤·¤Þ¤¹¡£
#
# % jgawk -f edict2skk.awk edict | skkdic-sort > SKK-JISYO.E2J
#
# SKK-JISYO.E2J ¤Î»È¤¤Êý¤Ï¿§¡¹¹Í¤¨¤é¤ì¤Þ¤¹¤¬¡¢
# % skkdic-expr SKK-JISYO.E2J + /usr/share/skk/SKK-JISYO.L | skkdic-sort > SKK-JISYO.L
# ¤Ê¤É¤È¤·¤Æ SKK Large ¼½ñ¤È¥Þ¡¼¥¸¤·¤Æ»È¤¦¤Î¤¬´Êñ¤Ç¤¹¡£
#
# EDICT µÚ¤Ó¤½¤Î¥µ¥Ö¥»¥Ã¥È (ËÜ¥¹¥¯¥ê¥×¥È¤Ë¤è¤ê EDICT ¤òÈ´¿è¤·¤¿¤â¤Î¤Ï
# ¥µ¥Ö¥»¥Ã¥È¤ËÅö¤¿¤ë¤Ç¤·¤ç¤¦) ¤Ï¡¢GPL ¤È¤Ï°Û¤Ê¤ëÇÛÉÛ¾ò·ï¤¬ÉÕ¤¤¤Æ¤¤¤ë¤Î
# ¤Ç¡¢¾ÜºÙ¤Ï¡¢EDICT ¥Õ¥¡¥¤¥ë¤ÎËÁƬÉôʬ¤â¤·¤¯¤Ï¡¢EDICT źÉդΠedict.doc
# ¤ò»²¾È¤·¤Æ²¼¤µ¤¤¡£
#
# Code
BEGIN{
print ";; okuri-ari entry";
# all entries are `okuri-nasi'.
print ";; okuri-nasi entry";
}
$1 !~ /^¡©/ {
alt_yomi = 0; # initialize
# plural words that contain spaces cannot be yomi.
if (match($0, /\/[^ ][^ ]*\/$/) != 0) {
entries = substr($0, RSTART + 1, RLENGTH - 2);
num = split(entries, yomi, "/");
for (i = 1; i <= num; i++) {
gsub(/\"/, "", yomi[i]);
if (match(yomi[i], /\(-*[a-z]*[a-z]*-*\)/) != 0) {
head = substr(yomi[i], 1, RSTART - 1);
middle = substr(yomi[i], RSTART + 1 , RLENGTH - 2);
tail = substr(yomi[i], RSTART + RLENGTH);
yomi[i] = head tail;
gsub(/-/, "", middle);
if (((middle != "") ||
# ²áµî·Á
(middle != "d") ||
# Ê£¿ô·Á
(middle != "s") ||
# Ê£¿ô·Á
(middle != "es") ||
# ¿Ê¹Ô·Á
(middle != "ing") ||
# ÊüÁ÷¶Ø»ßÍѸì
#(middle != "X") ||
# ²áµî·Á
(match(middle, /.ed/) == 0) ) &&
(yomi[i] != head middle tail) ) {
alt_yomi = head middle tail;
gsub(/\"/, "", alt_yomi);
} else {
alt_yomi = 0;
}
printf("%s /%s/\n", yomi[i], $1);
if (alt_yomi) {
printf("%s /%s/\n", alt_yomi, $1);
}
} else {
printf("%s /%s/\n", yomi[i], $1);
}
}
}
}
# end of edict2skk.awk
|