問題タブ [icu]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - ユーザー定義ルールを既存の言語に追加する
既存のルールを言語にロードして新しいルールを追加する正しい方法を説明できる人はいますか? 私は次のことを行いますが、ルールは設定されていません。
c - ICU を使用するために一部のスキャナー コードを更新する際の質問
私は初歩的な手書きの語彙スキャナーに取り組んでおり、UTF-8 入力をサポートしたいと考えています (もう 1970 年ではありません!)。入力文字はstdin
、ファイルから一度に 1 つずつ読み取られ、空白が表示されるまでバッファーにプッシュされます。fgetc()
代わりにchar[]
、UTF-8 文字を構成するバイトを返し、文字列としての結果...十分に簡単ですが、滑りやすい斜面になります. 車輪の再発明に時間を無駄にするのではなく、代わりにICUのような既存のテスト済みライブラリを使用したいと思います。fgetc()
これで、 、isspace()
、で動作する非 UTF-8 サポート コードができました。strcmp()
など、ICU を使用するために更新しようとしています。これは ICU での初めての試みであり、ドキュメントを読み、Google コード検索で使用例を見つけようとしていますが、まだ混乱している点がいくつかあります。誰かが明確にしてくれることを願っています。
このu_fgetc()
関数は を返しUChar
、そして... をu_fgetcx()
返しますUChar32
... ドキュメントu_fgetcx()
ではコードポイントの読み取りに を使用することを推奨しているため、それから始めています。上記と同じアプローチを維持していますが、s のUChar32
代わりに s をバッファーにプッシュしていchar
ます。
文字を既知の値と比較する適切な方法は何ですか? もともと
if (c == '+')
、プラス記号が入力から取得されたかどうかを確認することができました。c
GCCは a の場合に文句を言いません(これはとUChar32
の比較です) が、これは本当に適切ですか?UChar32
char
strcmp()
バッファリングされた文字を既知の値と比較するために使用できましたif ((strcmp(buf, "else") == 0)
。ICU から提供されており、既知のリテラルを指定するにはおよびマクロu_strcmp()
を使用する必要があると思いますが、確かではありません。ドキュメンテーションは、それらが結果として. ここでのガイダンスは大歓迎です。U_STRING_DECL
U_STRING_INIT
UChar[]
UChar32[]
一連の数字を読み取った後、それらを変換して
strtol()
作業できるようにしました。現在コンバート中ですが、ICU で同様の機能が提供されてUChar32[]
いますか?
php - ResourceBundle は、エラーが発生することなく NULL を返します
国際化されたデータの場合\ResourceBundle
、PHP の「intl」拡張のクラスを使用すると便利です。
拡張機能を実行して (PHP 5.3.4; Windows)、ICU Data Library Customizer * を使用して .dat ファイルを作成しましたが、リソース バンドル クラスから期待される結果が得られません。
今、私はこれを行います
問題は$resource
、エラーが発生せずに NULL を返すことです。どうしたの?
*(最後の 2 つのデータ セクションのみがチェックされ、基本データは常に含まれます。ICU4C としてエクスポートしました)
sqlite - Sqlite と FTS テーブルに ICU トークナイザーのバグがありますか?
sqlite データベースの FTS テーブルに奇妙な問題があります。次のようなテーブルを作成しています。
次に、名前とコンテンツを含む行と名前のみを含む行の 2 つの行を挿入します。
また、名前列のみが入力された行を更新または削除しようとすると、「モジュール 'sqlite3.dll' のアドレス 7244CF96 でアクセス違反が発生しました。アドレス 00000000 の読み取り」というエラーが表示されます。他の行にはすべて問題ありません。通常どおり更新または削除できます。どのロケールを使用するかは問題ではありません。en_US や他の多くのロケールを試しました。また、fts3 と fts4 に違いはありません。sqlite のビルトイン トークナイザーには問題がないため、ICU のバグのようです。ICU または sqlite のバグですか、それとも何か間違っていますか? 私はこれを SQLite Expert と私のプロジェクトで、必要なすべてのコンパイル オプションとすべてのライブラリを含めて試しました。
スタック フレームの最新:
fts3DeleteTerms は文字列の代わりに null ポインターを取得し、それを渡します。現在、段階的にデバッグすることはできません (私は融合を使用しており、VS 2010 は 65535 行を超えるコードをデバッグできません)。
c++ - 「引数リストが長すぎます」エラーを修正するためのコード編集のヘルプ
現在、ICU ディクショナリ ベースのブレーク イテレータに新たに追加したテストを行っています。テキストドキュメントで単語分割をテストできるコードがありますが、テキストドキュメントが大きすぎると、エラーが発生します: bash: ./a.out: Argument list too long
任意のサイズのファイルをコードで実行できるように、引数リストが長くなりすぎたときに引数リストを分割するようにコードを編集する方法がわかりません。元のコードの作者はとても忙しいのですが、誰か助けてくれませんか?
調査されているものの印刷を削除して、それが役立つかどうかを確認しようとしましたが、大きなファイルでエラーが発生します(調査されているものを印刷する必要はありません-結果が必要です)。
ソース テキスト ファイルを 1 行ずつ読み取り、結果を 1 行ずつ別のテキスト ファイルにエクスポートするようにコードを変更できれば (完了時にすべての行が含まれる)、完璧です。
コードは次のとおりです。
本当にありがとう!-ネイサン
perl - ファイルを 1 行ずつ読み取り、各行でコマンドを実行する Perl スクリプト
この perl スクリプトはこちらで見つかりました。これは私の目的に適しているようです。Unicode テキスト ファイルを開き、コマンドを実行できるように各行を読み取ります。しかし、各行で特定の ICU コマンドを実行する方法がわかりません。誰かが私を助けることができますか?私が得るエラーは (largefile はスクリプト名です): syntax error at ./largefile line 11, near "/ ." です。検索パターンが ./largefile 行 11 で終了していません。
基本的には、大きなテキスト ファイルを開いてコマンドを実行したいのですが (通常はコマンド ラインから実行します...これを perl スクリプトでどのように呼び出すかが問題だと思いますが、修正方法がわかりません)" LD_LIBRARY_PATH=icu/source/lib/ ./a.out "$line" >> newtext.txt" を各行に追加して、スクリプトによって処理された後にすべての行が "newtext.txt" に入力されるようにします。ICUの部分はクメール語の言葉を壊しています。
どんな助けでも大歓迎です!私はあまりプログラマーではありません...ありがとう!
c++ - ICUからCalendarAstronomerを利用する方法
ICUのCalendarAstronomerクラスを使用して、特定の場所の日没/日の出の値を計算したいと考えています。
API は適切でクリーンですが、必要なファイル astro.h がインストールされていません。apt-get を使用したり、自分で ICU を構築したりしていません。ここで何が問題なのですか?CalendarAstronomer クラスに必要な、私が見つけられなかった特別なコンポーネントはありますか?
ところで: 主な理由は、ICU のかなりリベラルなライセンスです。日没/日の出の値を計算するコード サンプルをいくつか見つけましたが、多くの場合、ライセンスは明確になりました。別の質問があります: 彼らの他のライブラリ/コード サンプルはリベラル ライセンス (Apache、BSD) を使用して C++ で日没/日の出を計算していますか?
java - ICU Libraryを使って日本語の半角・全角文字を変換する方法
私はJavaにあまり慣れていません(c++/c#から来ました)。一部のドキュメントを半角日本語文字から全角文字に変換するために、Java を使用する必要があります。
誰かが親切で、最初にいくつかの例を提供してくれませんか. 私はいくつかのサンプルを見つけることができませんでした。
Java でなければならないことに注意してください。
php - PHP の intl (ICU) 機能を使用して有効な文字列エンコーディングを確認する
ICU 用の PHP のintlラッパーで現在利用可能な機能を使用して、文字列のエンコーディングの有効性をどのようにチェックしますか? (例: 有効な UTF-8 をチェック)
mbstring、iconv()、および PCRE で実行できることはわかっていますが、この質問で intl に特に関心があります。