aboutsummaryrefslogtreecommitdiffstats
path: root/Bonus/goodict.cgi
diff options
context:
space:
mode:
authorTatsuya Kinoshita <tats@debian.org>2021-01-02 00:20:37 +0000
committerTatsuya Kinoshita <tats@debian.org>2021-01-02 00:20:37 +0000
commit1d0ba25a660483da1272a31dd077ed94441e3d9f (patch)
tree1d8dee52cd1e3d340fe178a8193dc96c4496db84 /Bonus/goodict.cgi
parentMerge branch 'cvstrunk' into upstream (diff)
downloadw3m-1d0ba25a660483da1272a31dd077ed94441e3d9f.tar.gz
w3m-1d0ba25a660483da1272a31dd077ed94441e3d9f.zip
New upstream version 0.5.3+git20210102upstream/0.5.3+git20210102upstream
Diffstat (limited to '')
-rwxr-xr-xBonus/goodict.cgi34
1 files changed, 24 insertions, 10 deletions
diff --git a/Bonus/goodict.cgi b/Bonus/goodict.cgi
index 8f443c1..5fb6581 100755
--- a/Bonus/goodict.cgi
+++ b/Bonus/goodict.cgi
@@ -1,14 +1,20 @@
#!/usr/bin/perl
# ~/.w3m/urimethodmap
-# e: file:/cgi-bin/goodict.cgi?%s
-# w: file:/cgi-bin/goodict.cgi?%s
-# j: file:/cgi-bin/goodict.cgi?%s
+# e: file:/cgi-bin/goodict.cgi?%s Englich-Japanese
+# w: file:/cgi-bin/goodict.cgi?%s Japanese-English
+# j: file:/cgi-bin/goodict.cgi?%s Japanese
+# a: file:/cgi-bin/goodict.cgi?%s All
+#
+# e:0:word start with word
+# e:1:word perfect match
+# e:2:word end with word
+# e:3:word search body text
+# e:6:word search title
+# e:word perfect match
-use NKF;
-#$mode = 0; # substring
-$mode = 1; # perfect match
-#$mode = 3; # search body text
+use Encode;
+use Encode::Guess qw/euc-jp utf8/;
$url = "http://dictionary.goo.ne.jp";
$_ = $ENV{"QUERY_STRING"};
if (/^e:/) {
@@ -17,14 +23,22 @@ if (/^e:/) {
$kind = 'je';
} elsif (/^j:/) {
$kind = 'jn';
+} elsif (/^a:/) {
+ $kind = 'all'
+}
+s@^[ewja]:@@ && s@^//@@ && s@/$@@;
+if (/^([01236]):/) {
+ $mode=$1;
+ s/^[01236]://;
+}else{
+ $mode="1";
}
-s@^[ewjs]:@@ && s@^//@@ && s@/$@@;
if ($_) {
s/\+/ /g;
s/%([\da-f][\da-f])/pack('C', hex($1))/egi;
- $_ = nkf("-e", $_);
+ $_ = encode("utf8", decode("Guess", $_));
s/[\000-\040\+:#?&%<>"\177-\377]/sprintf('%%%02X', unpack('C', $&))/eg;
- $url .= "/search.php?MT=$_&kind=$kind&mode=$mode";
+ $url .= "/srch/$kind/$_/m$mode"."u/";
} else {
$input = "w3m-control: GOTO_LINK";
}