m17n ライブラリ 1.8.4
読み取り中…
検索中…
一致する文字列を見つけられません
列挙型 | 関数 | 変数

M-text オブジェクトとそれに関する API. [詳解]

列挙型

enum  MTextFormat {
  MTEXT_FORMAT_US_ASCII ,
  MTEXT_FORMAT_UTF_8 ,
  MTEXT_FORMAT_UTF_16LE ,
  MTEXT_FORMAT_UTF_16BE ,
  MTEXT_FORMAT_UTF_32LE ,
  MTEXT_FORMAT_UTF_32BE ,
  MTEXT_FORMAT_MAX
}
 M-text のフォーマットを指定する列挙型. [詳解]
 
enum  MTextLineBreakOption {
  MTEXT_LBO_SP_CM = 1 ,
  MTEXT_LBO_KOREAN_SP = 2 ,
  MTEXT_LBO_AI_AS_ID = 4 ,
  MTEXT_LBO_MAX
}
 

関数

int mtext_line_break (MText *mt, int pos, int option, int *after)
 
MTextmtext ()
 新しいM-textを割り当てる.
 
MTextmtext_from_data (const void *data, int nitems, enum MTextFormat format)
 指定のデータを元に新しい M-text を割り当てる.
 
void * mtext_data (MText *mt, enum MTextFormat *fmt, int *nunits, int *pos_idx, int *unit_idx)
 
int mtext_len (MText *mt)
 M-text 中の文字の数.
 
int mtext_ref_char (MText *mt, int pos)
 M-text 中の指定された位置の文字を返す.
 
int mtext_set_char (MText *mt, int pos, int c)
 M-text に一文字を設定する.
 
MTextmtext_cat_char (MText *mt, int c)
 M-text に一文字追加する.
 
MTextmtext_dup (MText *mt)
 M-text のコピーを作る.
 
MTextmtext_cat (MText *mt1, MText *mt2)
 2個の M-textを連結する.
 
MTextmtext_ncat (MText *mt1, MText *mt2, int n)
 M-text の一部を別の M-text に付加する.
 
MTextmtext_cpy (MText *mt1, MText *mt2)
 M-text を別の M-text にコピーする.
 
MTextmtext_ncpy (MText *mt1, MText *mt2, int n)
 M-text に含まれる最初の何文字かをコピーする.
 
MTextmtext_duplicate (MText *mt, int from, int to)
 既存の M-text の一部から新しい M-text をつくる.
 
MTextmtext_copy (MText *mt1, int pos, MText *mt2, int from, int to)
 M-text に指定範囲の文字をコピーする.
 
int mtext_del (MText *mt, int from, int to)
 指定範囲の文字を破壊的に取り除く.
 
int mtext_ins (MText *mt1, int pos, MText *mt2)
 M-text を別の M-text に挿入する.
 
int mtext_insert (MText *mt1, int pos, MText *mt2, int from, int to)
 M-text の一部を別の M-text に挿入する.
 
int mtext_ins_char (MText *mt, int pos, int c, int n)
 M-text に文字を挿入する.
 
int mtext_replace (MText *mt1, int from1, int to1, MText *mt2, int from2, int to2)
 M-text の一部を別の M-text の一部で置換する.
 
int mtext_character (MText *mt, int from, int to, int c)
 M-text 中で文字を探す.
 
int mtext_chr (MText *mt, int c)
 M-text 中で指定された文字が最初に現れる位置を返す.
 
int mtext_rchr (MText *mt, int c)
 M-text 中で指定された文字が最後に現れる位置を返す.
 
int mtext_cmp (MText *mt1, MText *mt2)
 二つの M-text を文字単位で比較する.
 
int mtext_ncmp (MText *mt1, MText *mt2, int n)
 二つの M-text の先頭部分を文字単位で比較する.
 
int mtext_compare (MText *mt1, int from1, int to1, MText *mt2, int from2, int to2)
 二つの M-text の指定した領域同士を比較する.
 
int mtext_spn (MText *mt, MText *accept)
 ある集合の文字を M-text の中で探す.
 
int mtext_cspn (MText *mt, MText *reject)
 ある集合に属さない文字を M-text の中で探す.
 
int mtext_pbrk (MText *mt, MText *accept)
 ある集合に属す文字を M-text の中から探す.
 
MTextmtext_tok (MText *mt, MText *delim, int *pos)
 M-text 中のトークンを探す.
 
int mtext_text (MText *mt1, int pos, MText *mt2)
 M-text 中で別の M-text を探す.
 
int mtext_search (MText *mt1, int from, int to, MText *mt2)
 M-text 中の特定の領域で別の M-text を探す.
 
int mtext_casecmp (MText *mt1, MText *mt2)
 二つの M-text を大文字/小文字の区別を無視して比較する.
 
int mtext_ncasecmp (MText *mt1, MText *mt2, int n)
 二つの M-text の先頭部分を大文字/小文字の区別を無視して比較する.
 
int mtext_case_compare (MText *mt1, int from1, int to1, MText *mt2, int from2, int to2)
 二つの M-text の指定した領域を、大文字/小文字の区別を無視して比較する.
 
int mtext_lowercase (MText *mt)
 M-text を小文字にする.
 
int mtext_titlecase (MText *mt)
 M-text をタイトルケースにする.
 
int mtext_uppercase (MText *mt)
 M-text を大文字にする.
 

変数

MSymbol Mlanguage
 

変数: UTF-16 と UTF-32 のデフォルトのエンディアン

enum MTextFormat MTEXT_FORMAT_UTF_16
 値が MTEXT_FORMAT_UTF_16LE か MTEXT_FORMAT_UTF_16BE である変数
 
const int MTEXT_FORMAT_UTF_32
 値が MTEXT_FORMAT_UTF_32LE か MTEXT_FORMAT_UTF_32BE である変数
 

詳解

M-text オブジェクトとそれに関する API.

m17n ライブラリは、 C-string(char *unsigned char *)ではなく M-text と呼ぶオブジェクトでテキストを表現する。 M-text は長さ 0 以上の文字列であり、種々の文字ソース(たとえば C-string、ファイル、文字コード等)から作成できる。

M-text には、C-string にない以下の特徴がある。

さらにm17n ライブラリは、 C-string を操作するために提供される種々の関数と同等のものを M-text を操作するためにサポートしている。

列挙型詳解

◆ MTextFormat

M-text のフォーマットを指定する列挙型.

列挙型 MTextFormat は関数 mtext_from_data() の引数として用いられ、 M-text を生成する元となるデータのフォーマットを指定する。

列挙値
MTEXT_FORMAT_US_ASCII 

US-ASCII encoding

MTEXT_FORMAT_UTF_8 

UTF-8 encoding

MTEXT_FORMAT_UTF_16LE 

UTF-16LE encoding

MTEXT_FORMAT_UTF_16BE 

UTF-16BE encoding

MTEXT_FORMAT_UTF_32LE 

UTF-32LE encoding

MTEXT_FORMAT_UTF_32BE 

UTF-32BE encoding

MTEXT_FORMAT_MAX 

◆ MTextLineBreakOption

列挙値
MTEXT_LBO_SP_CM 
MTEXT_LBO_KOREAN_SP 
MTEXT_LBO_AI_AS_ID 
MTEXT_LBO_MAX 

関数詳解

◆ mtext_line_break()

int mtext_line_break ( MText mt,
int  pos,
int  option,
int *  after 
)

◆ mtext()

MText * mtext ( )

新しいM-textを割り当てる.

関数 mtext() は、長さ 0 の新しい M-text を割り当て、それへのポインタを返す。割り当てられた M-text は、関数 m17n_object_unref() によってユーザが明示的に行なわない限り、解放されない。

参照:
m17n_object_unref()

◆ mtext_from_data()

MText * mtext_from_data ( const void *  data,
int  nitems,
enum MTextFormat  format 
)

指定のデータを元に新しい M-text を割り当てる.

関数 mtext_from_data() は、要素数 nitems の配列 data で指定された文字列を持つ新しい M-text を割り当てる。formatdata のフォーマットを示す。

formatMTEXT_FORMAT_US_ASCIIMTEXT_FORMAT_UTF_8 ならば、 data の内容は unsigned char 型であり、nitems はバイト単位で表されている。

formatMTEXT_FORMAT_UTF_16LEMTEXT_FORMAT_UTF_16BE ならば、 data の内容は unsigned short 型であり、nitems は unsigned short 単位である。

formatMTEXT_FORMAT_UTF_32LEMTEXT_FORMAT_UTF_32BE ならば、 data の内容は unsigned 型であり、nitems は unsigned 単位である。

割り当てられた M-text の文字列は変更できない。data の内容は M-text が有効な間は変更してはならない。

割り当てられた M-text は、関数 m17n_object_unref() によってユーザが明示的に行なわない限り、解放されない。その場合でも data は解放されない。

戻り値:
処理が成功すれば、mtext_from_data() は割り当てられたM-text へのポインタを返す。そうでなければ NULL を返し外部変数 merror_code にエラーコードを設定する。
エラー:
MERROR_MTEXT

◆ mtext_data()

void * mtext_data ( MText mt,
enum MTextFormat fmt,
int *  nunits,
int *  pos_idx,
int *  unit_idx 
)

◆ mtext_len()

int mtext_len ( MText mt)

M-text 中の文字の数.

関数 mtext_len() は M-text mt 中の文字の数を返す。

◆ mtext_ref_char()

int mtext_ref_char ( MText mt,
int  pos 
)

M-text 中の指定された位置の文字を返す.

関数 mtext_ref_char() は、M-text mt の位置 pos の文字を返す。エラーが検出された場合は -1 を返し、外部変数 merror_code にエラーコードを設定する。

エラー:
MERROR_RANGE

◆ mtext_set_char()

int mtext_set_char ( MText mt,
int  pos,
int  c 
)

M-text に一文字を設定する.

関数 mtext_set_char() は、テキストプロパティ無しの文字 c を M-text mt の位置 pos に設定する。

戻り値:
処理に成功すれば mtext_set_char() は 0 を返す。失敗すれば -1 を返し、外部変数 merror_code にエラーコードを設定する。
エラー:
MERROR_RANGE

◆ mtext_cat_char()

MText * mtext_cat_char ( MText mt,
int  c 
)

M-text に一文字追加する.

関数 mtext_cat_char() は、テキストプロパティ無しの文字 c を M-text mt の末尾に追加する。

戻り値:
この関数は変更された M-text mt へのポインタを返す。c が正しい文字でない場合には NULL を返す。
参照:
mtext_cat(), mtext_ncat()

◆ mtext_dup()

MText * mtext_dup ( MText mt)

M-text のコピーを作る.

関数 mtext_dup() は、M-text mt のコピーを作る。mt のテキストプロパティはすべて継承される。

戻り値:
この関数は作られたコピーへのポインタを返す。
参照:
mtext_duplicate()

◆ mtext_cat()

MText * mtext_cat ( MText mt1,
MText mt2 
)

2個の M-textを連結する.

関数 mtext_cat() は、 M-text mt2 を M-text mt1 の末尾に付け加える。mt2 のテキストプロパティはすべて継承される。mt2 は変更されない。

戻り値:
この関数は変更された M-text mt1 へのポインタを返す。
参照:
mtext_ncat(), mtext_cat_char()

◆ mtext_ncat()

MText * mtext_ncat ( MText mt1,
MText mt2,
int  n 
)

M-text の一部を別の M-text に付加する.

関数 mtext_ncat() は、M-text mt2 のはじめの n 文字を M-text mt1 の末尾に付け加える。mt2 のテキストプロパティはすべて継承される。mt2 の長さが n 以下ならば、mt2 のすべての文字が付加される。 mt2 は変更されない。

戻り値:
処理が成功した場合、mtext_ncat() は変更された M-text mt1 へのポインタを返す。エラーが検出された場合は NULL を返し、外部変数 merror_code にエラーコードを設定する。
エラー:
MERROR_RANGE
参照:
mtext_cat(), mtext_cat_char()

◆ mtext_cpy()

MText * mtext_cpy ( MText mt1,
MText mt2 
)

M-text を別の M-text にコピーする.

関数 mtext_cpy() は M-text mt2 を M-text mt1 に上書きコピーする。 mt2 のテキストプロパティはすべて継承される。mt1 の長さは必要に応じて伸ばされる。mt2 は変更されない。

戻り値:
この関数は変更された M-text mt1 へのポインタを返す。
参照:
mtext_ncpy(), mtext_copy()

◆ mtext_ncpy()

MText * mtext_ncpy ( MText mt1,
MText mt2,
int  n 
)

M-text に含まれる最初の何文字かをコピーする.

関数 mtext_ncpy() は、M-text mt2 の最初の n 文字を M-text mt1 に上書きコピーする。mt2 のテキストプロパティはすべて継承される。もし mt2 の長さが n よりも小さければ mt2 のすべての文字をコピーする。mt1 の長さは必要に応じて伸ばされる。mt2 は変更されない。

戻り値:
処理が成功した場合、mtext_ncpy() は変更された M-text mt1 へのポインタを返す。エラーが検出された場合は NULL を返し、外部変数 merror_code にエラーコードを設定する。
エラー:
MERROR_RANGE
参照:
mtext_cpy(), mtext_copy()

◆ mtext_duplicate()

MText * mtext_duplicate ( MText mt,
int  from,
int  to 
)

既存の M-text の一部から新しい M-text をつくる.

関数 mtext_duplicate() は、M-text mtfromfrom 自体も含む)から toto 自体は含まない)までの部分のコピーを作る。このとき mt のテキストプロパティはすべて継承される。mt そのものは変更されない。

戻り値:
処理が成功すれば、mtext_duplicate() は作られた M-text へのポインタを返す。エラーが検出された場合は NULL を返し、外部変数 merror_code にエラーコードを設定する。
エラー:
MERROR_RANGE
参照:
mtext_dup()

◆ mtext_copy()

MText * mtext_copy ( MText mt1,
int  pos,
MText mt2,
int  from,
int  to 
)

M-text に指定範囲の文字をコピーする.

関数 mtext_copy() は、 M-text mt2fromfrom 自体も含む)から toto 自体は含まない)までの範囲のテキストを M-text mt1 の位置 pos から上書きコピーする。mt2 のテキストプロパティはすべて継承される。mt1 の長さは必要に応じて伸ばされる。mt2 は変更されない。

戻り値:
処理が成功した場合、mtext_copy() は変更された mt1 へのポインタを返す。そうでなければ NULL を返し、外部変数 merror_code にエラーコードを設定する。
エラー:
MERROR_RANGE
参照:
mtext_cpy(), mtext_ncpy()

◆ mtext_del()

int mtext_del ( MText mt,
int  from,
int  to 
)

指定範囲の文字を破壊的に取り除く.

関数 mtext_del() は、M-text mtfromfrom 自体も含む)から toto 自体は含まない)までの文字を破壊的に取り除く。結果的に mt は長さが (to - from) だけ縮むことになる。

戻り値:
処理が成功すれば mtext_del() は 0 を返す。そうでなければ -1 を返し、外部変数 merror_code にエラーコードを設定する。
エラー:
MERROR_RANGE
参照:
mtext_ins()

◆ mtext_ins()

int mtext_ins ( MText mt1,
int  pos,
MText mt2 
)

M-text を別の M-text に挿入する.

関数 mtext_ins() は M-text mt1pos の位置に別の M-text mt2 を挿入する。この結果 mt1 の長さは mt2 の長さ分だけ増える。挿入の際、mt2 のテキストプロパティはすべて継承される。mt2 そのものは変更されない。

戻り値:
処理が成功すれば mtext_ins() は 0 を返す。そうでなければ -1 を返し、外部変数 merror_code にエラーコードを設定する。
エラー:
MERROR_RANGE , MERROR_MTEXT
参照:
mtext_del() , mtext_insert()

◆ mtext_insert()

int mtext_insert ( MText mt1,
int  pos,
MText mt2,
int  from,
int  to 
)

M-text の一部を別の M-text に挿入する.

関数 mtext_insert() は M-text mt1 中の pos の位置に、別の M-text mt2fromfrom 自体も含む)から toto 自体は含ま ない)までの文字を挿入する。結果的に mt1 は長さが (to - from) だけ伸びる。挿入の際、 mt2 中のテキストプロパティはすべて継承され る。

戻り値:
処理が成功すれば、mtext_insert() は 0 を返す。そうでなければ -1 を返し、外部変数 merror_code にエラーコードを設定する。
エラー:
MERROR_MTEXT , MERROR_RANGE
参照:
mtext_ins()

◆ mtext_ins_char()

int mtext_ins_char ( MText mt,
int  pos,
int  c,
int  n 
)

M-text に文字を挿入する.

関数 mtext_ins_char() は M-text mtpos の位置に文字 c のコピーを n 個挿入する。この結果 mt1 の長さは n だけ増える。

戻り値:
処理が成功すれば mtext_ins_char() は 0 を返す。そうでなければ -1 を返し、外部変数 merror_code にエラーコードを設定する。
エラー:
MERROR_RANGE
参照:
mtext_ins, mtext_del()

◆ mtext_replace()

int mtext_replace ( MText mt1,
int  from1,
int  to1,
MText mt2,
int  from2,
int  to2 
)

M-text の一部を別の M-text の一部で置換する.

関数 mtext_replace() は、 M-text mt1from1from1 自体も含 む)から to1to1 自体は含まない)までを、 M-text mt2from2from2 自体も含む)から to2to2 自体は含まない)で置 き換える。新しく挿入された部分は、置き換える前のテキストプロパティ すべてを継承する。

戻り値:
処理が成功すれば、 mtext_replace() は 0 を返す。そうでな ければ -1 を返し、外部変数 merror_code にエラーコードを設定する。
エラー:
MERROR_MTEXT , MERROR_RANGE
参照:
mtext_insert()

◆ mtext_character()

int mtext_character ( MText mt,
int  from,
int  to,
int  c 
)

M-text 中で文字を探す.

関数 mtext_character() は M-text mt 中で文字 c を探す。もし fromto より小さければ、探索は位置 from から末尾方向へ、最大 (to - 1) まで進む。そうでなければ位置 (from - 1) から先頭方向へ、最大 to まで進む。位置の指定に誤りがある場合は、fromto の両方に 0 が指定されたものとみなす。

戻り値:
もし c が見つかれば、mtext_character() はその最初の出現位置を返す。見つからなかった場合は外部変数 merror_code を変更せずに -1 を返す。エラーが検出された場合は -1 を返し、外部変数 merror_code にエラーコードを設定する。
参照:
mtext_chr(), mtext_rchr()

◆ mtext_chr()

int mtext_chr ( MText mt,
int  c 
)

M-text 中で指定された文字が最初に現れる位置を返す.

関数 mtext_chr() は M-text mt 中で文字 c を探す。探索は mt の先頭から末尾方向に進む。

戻り値:
もし c が見つかれば、mtext_chr() はその出現位置を返す。見つからなかった場合は -1 を返す。
エラー:
MERROR_RANGE
参照:
mtext_rchr(), mtext_character()

◆ mtext_rchr()

int mtext_rchr ( MText mt,
int  c 
)

M-text 中で指定された文字が最後に現れる位置を返す.

関数 mtext_rchr() は M-text mt 中で文字 c を探す。探索は mt の最後から先頭方向へと後向きに進む。

戻り値:
もし c が見つかれば、mtext_rchr() はその出現位置を返す。見つからなかった場合は -1 を返す。
エラー:
MERROR_RANGE
参照:
mtext_chr(), mtext_character()

◆ mtext_cmp()

int mtext_cmp ( MText mt1,
MText mt2 
)

二つの M-text を文字単位で比較する.

関数 mtext_cmp() は、 M-text mt1mt2 を文字単位で比較する。

戻り値:
この関数は、mt1mt2 が等しければ 0、mt1mt2 より大きければ 1、mt1mt2 より小さければ -1 を返す。比較は文字コードに基づく。
参照:
mtext_ncmp(), mtext_casecmp(), mtext_ncasecmp(), mtext_compare(), mtext_case_compare()

◆ mtext_ncmp()

int mtext_ncmp ( MText mt1,
MText mt2,
int  n 
)

二つの M-text の先頭部分を文字単位で比較する.

関数 mtext_ncmp() は、関数 mtext_cmp() 同様の M-text 同士の比較を先頭から最大 n 文字までに関して行なう。

戻り値:
この関数は、mt1mt2 が等しければ 0、mt1mt2 より大きければ 1、mt1mt2 より小さければ -1 を返す。
参照:
mtext_cmp(), mtext_casecmp(), mtext_ncasecmp() mtext_compare(), mtext_case_compare()

◆ mtext_compare()

int mtext_compare ( MText mt1,
int  from1,
int  to1,
MText mt2,
int  from2,
int  to2 
)

二つの M-text の指定した領域同士を比較する.

関数 mtext_compare() は二つの M-text mt1mt2 を文字単位で比較する。比較の対象は mt1 のうち from1 から to1 までと、mt2 のうち from2 から to2 までである。from1from2 は含まれ、to1to2 は含まれない。from1to1 (あるいは from2to2 )が等しい場合は長さゼロの M-text を意味する。範囲指定に誤りがある場合は、 from1to1 (あるいは from2to2 ) 両方に 0 が指定されたものとみなす。

戻り値:
この関数は、mt1mt2 が等しければ 0、mt1mt2 より大きければ 1 、mt1mt2 より小さければ -1 を返す。比較は文字コードに基づく。
参照:
mtext_cmp(), mtext_ncmp(), mtext_casecmp(), mtext_ncasecmp(), mtext_case_compare()

◆ mtext_spn()

int mtext_spn ( MText mt,
MText accept 
)

ある集合の文字を M-text の中で探す.

関数 mtext_spn() は、M-text mt1 の先頭から M-text mt2 に含まれる文字だけでできている部分の長さを返す。

参照:
mtext_cspn()

◆ mtext_cspn()

int mtext_cspn ( MText mt,
MText reject 
)

ある集合に属さない文字を M-text の中で探す.

関数 mtext_cspn() は、M-text mt1 の先頭部分で M-text mt2 に含まれない文字だけでできている部分の長さを返す。

参照:
mtext_spn()

◆ mtext_pbrk()

int mtext_pbrk ( MText mt,
MText accept 
)

ある集合に属す文字を M-text の中から探す.

関数 mtext_pbrk() は、M-text mt1 中で M-text mt2 の文字のどれかが最初に現れる位置を調べる。

戻り値:
見つかった文字の、mt1 内における出現位置を返す。もしそのような文字がなければ -1 を返す。

◆ mtext_tok()

MText * mtext_tok ( MText mt,
MText delim,
int *  pos 
)

M-text 中のトークンを探す.

関数 mtext_tok() は、M-text mt の中で位置 pos 以降最初に現れるトークンを探す。ここでトークンとは M-text delim の中に現われない文字だけからなる部分文字列である。pos の型が int ではなくて int へのポインタであることに注意。

戻り値:
もしトークンが見つかれば mtext_tok()はそのトークンに相当する部分の mt をコピーし、そのコピーへのポインタを返す。この場合、pos は見つかったトークンの終端にセットされる。トークンが見つからなかった場合は外部変数 merror_code を変えずに NULL を返す。エラーが検出された場合は NULL を返し、変部変数 merror_code にエラーコードを設定する。
エラー:
MERROR_RANGE

◆ mtext_text()

int mtext_text ( MText mt1,
int  pos,
MText mt2 
)

M-text 中で別の M-text を探す.

関数 mtext_text() は、M-text mt1 中で位置 pos 以降に現われる M-text mt2 の最初の位置を調べる。テキストプロパティの違いは無視される。

戻り値:
mt1 中に mt2 が見つかれば、mtext_text() はその最初の出現位置を返す。見つからない場合は -1 を返す。もし mt2 が空ならば 0 を返す。

◆ mtext_search()

int mtext_search ( MText mt1,
int  from,
int  to,
MText mt2 
)

M-text 中の特定の領域で別の M-text を探す.

関数 mtext_search() は、M-text mt1 中の from から to までの間の領域でM-text mt2 が最初に現われる位置を調べる。テキストプロパティの違いは無視される。もし fromto より小さければ探索は位置 from から末尾方向へ、そうでなければ to から先頭方向へ進む。

戻り値:
mt1 中に mt2 が見つかれば、mtext_search() はその最初の出現位置を返す。見つからない場合は -1 を返す。もし mt2 が空ならば 0 を返す。

◆ mtext_casecmp()

int mtext_casecmp ( MText mt1,
MText mt2 
)

二つの M-text を大文字/小文字の区別を無視して比較する.

関数 mtext_casecmp() は、関数 mtext_cmp() 同様の M-text 同士の比較を、大文字/小文字の区別を無視して行なう。

戻り値:
この関数は、mt1mt2 が等しければ 0、mt1mt2 より大きければ 1、mt1mt2 より小さければ -1 を返す。
参照:
mtext_cmp(), mtext_ncmp(), mtext_ncasecmp() mtext_compare(), mtext_case_compare()

◆ mtext_ncasecmp()

int mtext_ncasecmp ( MText mt1,
MText mt2,
int  n 
)

二つの M-text の先頭部分を大文字/小文字の区別を無視して比較する.

関数 mtext_ncasecmp() は、関数 mtext_casecmp() 同様の M-text 同士の比較を先頭から最大 n 文字までに関して行なう。

戻り値:
この関数は、mt1mt2 が等しければ 0、mt1mt2 より大きければ 1、mt1mt2 より小さければ -1 を返す。
参照:
mtext_cmp(), mtext_casecmp(), mtext_casecmp() mtext_compare(), mtext_case_compare()

◆ mtext_case_compare()

int mtext_case_compare ( MText mt1,
int  from1,
int  to1,
MText mt2,
int  from2,
int  to2 
)

二つの M-text の指定した領域を、大文字/小文字の区別を無視して比較する.

関数 mtext_compare() は二つの M-text mt1mt2 を、大文字/小文字の区別を無視して文字単位で比較する。比較の対象は mt1from1 から to1 まで、mt2from2 から to2 までである。 from1from2 は含まれ、to1to2 は含まれない。from1to1 (あるいは from2to2 )が等しい場合は長さゼロの M-text を意味する。範囲指定に誤りがある場合は、from1to1 (あるいは from2to2 )両方に 0 が指定されたものと見なす。

戻り値:
この関数は、mt1mt2 が等しければ 0、mt1mt2 より大きければ 1、mt1mt2 より小さければ -1を返す。比較は文字コードに基づく。
参照:
mtext_cmp(), mtext_ncmp(), mtext_casecmp(), mtext_ncasecmp(), mtext_compare()

◆ mtext_lowercase()

int mtext_lowercase ( MText mt)

M-text を小文字にする.

関数 mtext_lowercase() は M-text mt 中の各文字を破壊的に小文字に変 換する。変換に際して隣接する文字の影響を受けることがある。mt にテ キストプロパティ Mlanguage が付いている場合は、それも変換に影響を 与えうる。mt の長さは変わることがある。小文字に変換できなかった文 字はそのまま残る。テキストプロパティはすべて継承される。

戻り値:
この関数は更新後の mt の長さを返す。
参照:
mtext_titlecase(), mtext_uppercase()

◆ mtext_titlecase()

int mtext_titlecase ( MText mt)

M-text をタイトルケースにする.

関数 mtext_titlecase() は M-text mt 中で cased プロパティを持つ 最初の文字をタイトルケースに、そしてそれ以降の文字を小文字に破壊的 に変換する。mt の長さは変わることがある。タイトルケースにに変換で きなかった場合はそのままで変わらない。テキストプロパティはすべて継 承される。

戻り値:
この関数は更新後の mt の長さを返す。
参照:
mtext_lowercase(), mtext_uppercase()

◆ mtext_uppercase()

int mtext_uppercase ( MText mt)

M-text を大文字にする.

関数 mtext_uppercase() は M-text mt 中の各文字を破壊的に大文字に変 換する。変換に際して隣接する文字の影響を受けることがある。mt にテ キストプロパティ Mlanguage が付いている場合は、それも変換に影響を 与えうる。mt の長さは変わることがある。大文字に変換できなかった文 字はそのまま残る。テキストプロパティはすべて継承される。

戻り値:
この関数は更新後の mt の長さを返す。
参照:
mtext_lowercase(), mtext_titlecase()

変数詳解

◆ MTEXT_FORMAT_UTF_16

enum MTextFormat MTEXT_FORMAT_UTF_16
extern

値が MTEXT_FORMAT_UTF_16LE か MTEXT_FORMAT_UTF_16BE である変数

大域変数 MTEXT_FORMAT_UTF_16 はリトル・エンディアン・システム (ワードを LSB (Least Significant Byte) を先にして格納)上では MTEXT_FORMAT_UTF_16LE に初期化され、ビッグ・エンディアン・システム (ワードを MSB (Most Significant Byte) を先にして格納)上では MTEXT_FORMAT_UTF_16BE に初期化される。

参照:
mtext_from_data()

◆ MTEXT_FORMAT_UTF_32

const int MTEXT_FORMAT_UTF_32
extern

値が MTEXT_FORMAT_UTF_32LE か MTEXT_FORMAT_UTF_32BE である変数

大域変数 MTEXT_FORMAT_UTF_32 はリトル・エンディアン・システム (ワードを LSB (Least Significant Byte) を先にして格納)上では MTEXT_FORMAT_UTF_32LE に初期化され、ビッグ・エンディアン・システム (ワードを MSB (Most Significant Byte) を先にして格納)上では MTEXT_FORMAT_UTF_32BE に初期化される。

参照:
mtext_from_data()

◆ Mlanguage

MSymbol Mlanguage

"language" という名前を持つシンボル.


m17n-lib Home