相変わらず BXglyphwikiの errorです。

相変わらず BXglyphwikiの errorです。

- mr2h の投稿
返信数: 11
最新のwin11環境下で、texlive2026に upしたはよいのですが、相も変わらず、 BXglyphwiki のerrorで悩んでいます。進歩のないこと!!。 =============================================== 以下に、tex file と log.file 動作したときの pdf file を添付します。 どなたか、教えて下さいな。
mr2h への返信

Re: 相変わらず BXglyphwikiの errorです。

- mr2h の投稿
なお、pdf file の作成日は、2024.11.26 です。これを デスクトップに copy したものを添付したら日にちが変わってしまいました。
log file は参考となる情報が書き込まれていないようです。あと添付すべき file があれば、ご指示下さい。
mr2h への返信

Re: 相変わらず BXglyphwikiの errorです。

- はやて (h20y6m) の投稿
TeX Live 2026 をインストールした後、以前の BXglyphwiki を使えるようにするための手順は行いましたか?

https://okumuralab.org/tex/mod/forum/discuss.php?d=3659#p22811

(TeX Live 2025 → TeX Live 2026 なら)
C:\texlive\2025\bin\windows の bxglyphwiki.lua と bxglyphwiki.bat を
C:\texlive\2026\bin\windows にコピーすれば良いかと思います。
はやて (h20y6m) への返信

Re: 相変わらず BXglyphwikiの errorです。

- mr2h の投稿
早速の回答ありがたく拝受しました。どうやら、前回(2025)のとき、どうしたかをすっかりわすれていたようです。
で、仰せの通り試しました。
以前は、runscript.exe を bxglyphwiki.exe という名前で copy し、それを c::\texlive\2026\texmf-local/bin へ置いていたのですが
今回はそれをやめて ご指示のように、bxglyphwiki.bat と bxglyphwiki.lua を一緒に c::\texlive\2026\texmf-local/bin に置き path を通しておいた筈ですが、
うまく行きません。ちょっと混乱ぎみなので、今日はここまでとして、明晩再度チャレンジしたいと、存じます。
mr2h への返信

Re: 相変わらず BXglyphwikiの errorです。

- はやて (h20y6m) の投稿
どうも glyphwiki 側にボット除けの仕組みが導入されているようです。
プログラムから自動でデータを取得することがおそらく不可能になったのではないかと思います。

GlyphWiki:お知らせ https://glyphwiki.org/wiki/GlyphWiki:%e3%81%8a%e7%9f%a5%e3%82%89%e3%81%9b には

> 現在の設定を平常運用とすることを考えています。

> 正規ユーザーのBot利用については近日中にアナウンスします。

ということですので glyphwiki 側から何か代替手段が出てくるまでは BXglyphwiki は利用不可のようです。
はやて (h20y6m) への返信

Re: 相変わらず BXglyphwikiの errorです。

- 和田 勇 の投稿

ボット除け対策

どうも glyphwiki 側にボット除けの仕組みが導入されているようです。

bxglyphwiki との最低限の通信ができるか否かは、私は以下のコマンドを利用しています。

    bxglyphwiki +ping  .  pdf dvipdfmx ping

          上記の場合カレントに bxgw_resp_.def というファイルが作成されます。

現状 ping は通るのですが、グリフなどをダウンロードしようとした時、 はやてさんの報告されたボット対策の影響でエラーになるのは確認しました。

pxchfon.sty について > mr2h さんへ

pxchfon.sty を c:/texlive/texmf-local/tex/platex/pxchfon/ から取り込んでいますが、 可能であれば c:/texlive/2026/texmf-dist/tex/platex/pxchfon/ の利用も検討してください。

    @@ -247,9 +247,12 @@
     (c:/texlive/2026/texmf-dist/tex/platex/japanese-otf/mlcid.sty
     Package: mlcid 2004/04/17 v1.0.2 psitau, u0.34 ttk
     )
    -(c:/texlive/texmf-local/tex/platex/pxchfon/pxchfon.sty
    -Package: pxchfon 2023/02/22 v1.9a    ←↑ TL2022 当時のバージョン
    -)
    +(c:/texlive/2026/texmf-dist/tex/platex/pxchfon/pxchfon.sty
    +Package: pxchfon 2024/08/22 v2.2
    +
    +(c:/texlive/2026/texmf-dist/tex/platex/pxchfon/pxchfon0.def ←分離してる
    +File: pxchfon0.def 2024/08/22 v2.2
    +))
     (c:/texlive/2026/texmf-dist/tex/platex/base/plext.sty
     Package: plext 2020/10/07 v1.2m pLaTeX package file (community edition)
     \@floatbox=\box82

lua 5.4.x vs lua 5.5 for bxglyphwiki.lua

現在 TeXLive の Windows 環境に同梱される lua は 5.4 ベースですが、 bxglyphwiki.lua   の lua スクリプトも lua 5.4 ベースで記述されていルようです。

昨年暮れに lua 5.5 がリリースされて、それを利用すると、現在提供されている bxglyphwiki.lua  スクリプトではエラーになってしまいます。

原因は、 for変数が読み取り専用になった ことに起因しているようです。

今後の同梱の lua のバージョンアップなどを考慮し、 暫定で以下の対処を macOS 環境で試してみました。 検討していただけたらと思います。

    diff --git a/bxglyphwiki.lua b/bxglyphwiki.lua
    index e118376..f092558 100644
    --- a/bxglyphwiki.lua
    +++ b/bxglyphwiki.lua
    @@ -172,7 +172,9 @@ do
       local function parse_path(src)
         local op, ot, c = nil, nil, 0
         local v, epsls = {}, {}
    -    for w in src:gmatch("(%S+)") do
    +    local w = nil
    +    for ww in src:gmatch("(%S+)") do
    +      w =ww
           if c > 0 then
             w = tonumber(w); v[c] = w; c = c - 1
             if not w then return end
和田 勇 への返信

Re: 相変わらず BXglyphwikiの errorです。

- mr2h の投稿
はやてさん、和田さん、ちゃんと原因があったのですね。

そのような理由であれば、glyphwiki 側からの「対応アナウンス」を待ちたいと存じます。
その際に、和田さんのご教示が役立つかもしれませんね。
とにかく、スキルの乏しい私の、現時点での「悪あがき」は、一旦停止して、glyphwiki 側の管理者
(引地さんとか言ったように記憶しています)からのアナウンスを待ちましょう。

お二人のコメントに感謝します。
mr2h への返信

Re: 相変わらず BXglyphwikiの errorです。

- Z. R. の投稿

現在、GlyphWikiの側で画像ダウンロードが(一部だけ)可能になっています。とりあえず、今の仕様を前提に動作する暫定版を用意しました。

改修の要点は以下の通りです。詳しくはREADMEを参照してください。

現状の画像ダウンロード制限に合わせて、最新版以外のグリフ画像の取得を回避する。 HTTPSで接続する。

※Windows以外での動作確認が全くできていないので、興味がある人は自分の環境で動作するかを試してみてください。

Z. R. への返信

Re: 相変わらず BXglyphwikiの errorです。

- mr2h の投稿
Z.R.さま
待ち望んでいた解決策 Win11 で早速試しました。残念なことに小生の環境では、うまく動かすことが出来ませんでした。
そこで、苦肉の策として source のtex file の directory 上に 今度の lua file を置いてみたところ、ナントうまく動作しました。
これで、動作しな買った理由は、小生のタコな設定法に原因することが明白になりました(恥づかしい)ので、引き続きいろいろ試します。
猶、Mac や Linux(Ubuntu)でも動作するようになりましたらいいですね。
とりあへず、大変ありがとうございました。
mr2h への返信

Re: 相変わらず BXglyphwikiの errorです。

- 和田 勇 の投稿

設定方法

苦肉の策として source のtex file の directory 上に 今度の lua fileを置いてみたところ... ...動作しなかった理由は、... 設定法に原因

これは bxglyphwiki.sty と bxglyphwiki.lua を配置されたのですよね。

ですので、前者はTEXMFLOCAL などのパスに、後者は PATH に関する パスに配置すれば、windows では問題なく動くと思います。

> Mac や Linux(Ubuntu)でも動作について

macOS / debian / fedora での対処方法を検討してみました。

以下を参考にしてください。

macOS / lua 5.5 環境での検証

以下の対処をすれば macOS で homebrew で導入した lua 5.5 luarocks および必要なライブラリをインストールすることで処理できるようになりました。

なお、かなりの部分を目視してタイプしているので、タイプミスがあrかもしれませんが、 適宜読み替えてください。

bxglyphwiki.lua から bxglyphwiki をコピーし Lua 5.5 対策を施す

    --- ./bxglyphwiki.lua   2026-03-28 18:03:34.736517132 +0900
    +++ ./bxglyphwiki   2026-03-28 18:29:56.444931232 +0900
    @@ -1,4 +1,4 @@
    ---#!/usr/bin/env lua
    +#!/usr/bin/env lua
     -- bxglyphwiki.lua

     if bxglyphwiki then
    @@ -172,7 +172,9 @@  以下は lua 5.5 では必須修正
       local function parse_path(src)
         local op, ot, c = nil, nil, 0
         local v, epsls = {}, {}
    -    for w in src:gmatch("(%S+)") do
    +    local w = nil
    +    for ix in src:gmatch("(%S+)") do
    +      w = ix
           if c > 0 then
             w = tonumber(w); v[c] = w; c = c - 1
             if not w then return end

require("socket.http") と、Bxglyphwiki (v0.7-pre) で導入された require 'lfs' 対策 

    luarocks install luasocket
    luarocks install luafilesystem

参考(使用している lua library)

    Rocks installed for Lua 5.5
    ---------------------------    
    luafilesystem
       1.9.0-1 (installed) - /opt/homebrew/lib/luarocks/rocks-5.5 
    luasocket
       3.1.0-1 (installed) - /opt/homebrew/lib/luarocks/rocks-5.5

参考

debian と fedora でも以下のような対処を行えば、ビルドできました。

ubuntu 系のディストリビューションでは debian での方法を参考にしてください。

debian 13 trixie

  • lua は alternatives (参考 Luaのインストール) によって管理されていて 5.1 から 5.4 のいずれかが使用できます。

    • 今回は 5.1 と 5.4 で検証しました。
  • lfs(luafilesystem) のインストール

    • lua5.1 (デフォルトで入る)
        sudo apt install luarocks # liblua5.1-dev は付随インストールされる
        sudo luarocks install luafilesystem
    
              lualock list で /usr/local/lib/luarocks/rocks-5.1 にライブラリが作成されているのがわかる
    
    • lua5.4
        sudo apt install lua5.4 liblua5.4-dev
        sudo apt install luarocks
        sudo update-alternatives --config lua-interpreter # ← lua5.4 を選択
        sudo luarocks --lua-version 5.4 install luafilesystem
    
              lualock --lua-versiin list で /usr/local/lib/luarocks/rocks-5.4 にライブラリが作成されているのがわかる
    

 Fedora 43

  • lua ... Fedora では lua5.4 がインストールされる
  • lfs(luafilesystem) のインストール

    sudo dnf install luarocks
    sudo luarocks install luafilesystem
    
和田 勇 への返信

Re: 相変わらず BXglyphwikiの errorです。

- mr2h の投稿
windows では、うごかせるようになりました。
\texlive\2026 はなるべくなら触らずに \texlive\mf-local 以下の bin\ や script\ directory を利用したいと考えたことが、却ってトラブルの基になったように思います。毎年の texlive の versionup を考えたときに、なるべく簡単に作業したいと考えたからです。素直に最初から \texlive\2026 以下に設定しておけば良かったのに。
Mac や Linux の環境上の設定はボチボチやってゆきたいとおもいます。
はやてさん、和田さん、Z.R.さん、大変有り難うございました。
mr2h への返信

Re: 相変わらず BXglyphwikiの errorです。

- 和田 勇 の投稿

win 環境で動作したとのこと、何よりです。

さて、ubuntu 環境ですが、 25.10 および 今年四月下旬にリリース予定の次期 LTS 版ベータの 26.04-beta でテストしましたが、 debian 環境と同じ操作を行えば、問題なく処理できるようです。

前回のタイポも含めて debian/ubuntu 環境での手順を示します。

debian / ubuntu では lua5.1 から lua5.4 が利用できますが、 lua5.1 でも動作するので、ここでは lua5.1 のみの設定について記述する

  • 必要な apt パッケージ のインストール

    • sudo apt install lua luarocks
  • 今回のケースで必要な luarocks で導入する必要な lua ライブラリのインストール

    • sudo luarocks install luafilesystem

    なお luasocket も必要ですがデフォルトで導入されるので気にしなくて良いです。