8

Windows Phoneエミュレータまたはデバイスを日本語、韓国語、またはその他の非ラテン語に置き、Peopleアプリケーションを使用する場合、LongListSelectorの実装では日本語のグループ化文字が表示され、次にUnicode「子午線」文字、az文字:Windowsの携帯電話のツールキットからLongListSelectorでLongListSelectorで日本語とその他の非ラテンの名前をグループ化する方法

WP7 People AppWP7 People App

、あなた自身の手動グループ化ロジックを行う必要があります。日本語/韓国語/その他の名前のグループ化文字のリストを取得するにはどうしたらいいですか?(グループ化文字はユーザー名のどこにもありません)

+3

マ(MA)は、ま、の最初の文字と同じことを意味し名前が表示されます。違いは、グループ化文字はカタカナで、もう1つはひらがなであることです。どちらも日本語を書くのに使われる音節で、目的が異なる(カタカナは主に借用語に使用されます)がありますが、このようなグループ分けのために同じように扱いたいと思うでしょう。私はグループヘッダにひらがなの代わりにカタカナを使っている理由を言うことはできませんが、どちらの絵も間違っていません。 –

+0

また、それは文字ではなく、母音の前にある "初期音"によってグループ化されています。これは、これらの音節の仕方によって、日本語で物事を整理する一般的な方法です。 –

答えて

2

特にWindows Phone Toolkitについてはわかりませんが、基本的には次のように動作します。ほとんどの日本人の名前には漢字形式(通常はどのように書かれ、何が表示されるか)があります。漢字形式にはあいまいな発音があるため、発音の分野もあります。発音フィールドを使用して名前をグループ化します。 (また、発音フィールドのデータを含まない名前を別の「他の」グループにグループ化することもできます)。例えば

: 漢字:山本次郎 カタカナ:ヤマモトジロウ

は、その後、あなたの "グループ化文字は" ちょうどリストされている(または部分的なリスト)カタカナやひらがな、この男の下に下落するだろう "や"または "ヤ"。

3

簡単な答えは、平仮名のユニコード値に(96)を加えて同等のカタカナ(マ)を得ることです。

キャラクターがひらがなであるかどうかは、ユニコード値が3040-309Fの範囲にあることを確認することで判断できます。

残念ながら、ノアは、漢字を使用して多くの名前を表記しています。約40,000文字のアルファベットで、それぞれがひらがなに相当し、周囲に多くの文脈があります。それらをサポートしたい場合は、日本語の図書館を探す必要があります。

FYIは、時には大文字を表すために使用されるため、ここでの使用方法について説明します。 (メトロの小文字の嗜好を考えると、カタカナはよりフィット感が良いと思ったでしょう)。

あなただけのひらがなをサポートしたい場合は、ここに助けるべきものです:

const int KatakanaStartCode = 0x30A0; 
const int HiraganaStartCode = 0x3040; 
const int HiraganaEndCode = 0x309F; 

private char GetGroupChar(string name) 
{ 
    // Check for null/blank 
    // Check for numbers, etc 

    char firstChar = name[0]; 
    int firstCharCode = (int)firstChar; 

    bool isHiragana = (HiraganaStartCode <= firstCharCode && 
     firstCharCode <= HiraganaEndCode); 

    if (isHiragana) 
    { 
     char katakanaChar = (char)(firstCharCode + 
      (KatakanaStartCode - HiraganaStartCode)); 

     return katakanaChar; 
    } 

    return Char.ToLowerInvariant(firstChar); 
} 

そしては:

string name = "またな たなかあ"; 

char s = GetGroupChar(name); 

Debug.WriteLine(s); // マ 
+0

そして、韓国語、中国語などの他の言語については、彼らのグループ化ロジックを理解する必要がありますか?これは、電話機のOSの動作と一致しない可能性がありますか?うまくいけば、マイクロソフトでは、これを内蔵している種類の連絡先ピッカーをリリースします。 – bkaid

+0

あなたの仮定は正しいです。このようなことを扱うライブラリを探す価値はあるかもしれません。 –

関連する問題