どちらもITに携わる者としては理解しておくべき事だし、汎用的な知識でもあるから結果的には良い経験になったとは思うけれどタカをくくったのがマズかったなと反省している。故に調査も行き当たりばったりで進めてしまい余計に時間が掛かった。
今回のケースで言えば、substrb(lenbに相当すると思っていた関数)が代替できなそうと感づいた時点で文字列を走査して正規表現により半角全角を判定する方針にするべきだったし、正規表現についてのサンプルはインターネットよりも既存ソースから探すべきであった。(結局、既存ソースに同じ要件の内部関数があるのを見つけたのでそちらを流用した。)