.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkMapRom.jmn,v 1.1.1.1 2002/10/19 08:27:48 aida_s Exp $ NEC; .TH RKMAPROMA 3 "4 April 1991" .SH "名前" RkMapRoma \- 指定されたローマ字かな変換テーブルを用いてローマ字かな変換を行う .SH "形式" .nf .B #include .B "int RkMapRoma(romaji, dst, maxdst, src, srclen, flags, status)" .B struct RkRxDic *romaji; .B unsigned char *dst; .B int maxdst; .B unsigned char *src; .B int srclen; .B int flags; .B int *status; .fi .SH "説明" .I RkMapRoma は,指定されたローマ字かな変換テーブルを用いてローマ字かな変換を行います. .I romaji は, .IR RkOpenRoma(3) により返されたローマ字かな変換テーブルへのポインタを与えます. .I RkMapRoma は,領域 .I src から .I srclen バイト続くデータをローマ字列として解釈し,ローマ字列先頭と一致するロー マ字かな変換規則をローマ字かな変換テーブルから探します. 対応する変換規則が見つかった場合には,対応するかな文字列を .I dst 領域に格納します.ただし,文字列のバイト数が .I maxdst \-1 を超える場合には結果は切り捨てられます. また,可能ならば変換最終位 置にヌル文字が付け加えられます. .PP .I flags は,ローマ字かな変換を制御するためのフラグで以下を or で組合わせます. .RS .IP RK_SOKUON 10 促音処理を有効にします.促音処理は,先頭2文字が同一文字xxであり,ロー マ字かな変換テーブルファイルに登録されていない時に限り,xxから「っ」へ 変換します. .IP RK_FLUSH 10 すべてのローマ字を強制的に変換します.これは最後のnの処理に有効です. .RE .PP 以下のフラグは .I src に格納される文字の種類を指定します.これは,ローマ字かな変換テーブルか ら得られたかな文字列に対するコード変換を指定します.これらは,いずれか ひとつだけを用いることができます. .RS .IP RK_NFER 10 そのまま .IP RK_XFER 10 ひらがな .IP RK_HFER 10 半角文字 .IP RK_KFER 10 カタカナ .IP RK_ZFER 10 全角文字 .RE .PP .I status には, .I dst 領域に設定された文字列のバイト数が設定されます. この値が負の場合には,マッチするローマ字がなかったことを示します. .SH "戻り値" ローマ字かな変換でマッチしたローマ字列先頭バイト数を返します. .\".if t .pn 575