github.com/shogo82148/std@v1.22.1-0.20240327122250-4e474527810c/unicode/graphic.go (about)

     1  // Copyright 2011 The Go Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  package unicode
     6  
     7  // GraphicRangesはUnicodeに基づいてグラフィック文字のセットを定義します。
     8  var GraphicRanges = []*RangeTable{
     9  	L, M, N, P, S, Zs,
    10  }
    11  
    12  // PrintRangesはGoによる印刷可能な文字のセットを定義します。
    13  // ASCIIスペース、U+0020は別途扱われます。
    14  var PrintRanges = []*RangeTable{
    15  	L, M, N, P, S,
    16  }
    17  
    18  // IsGraphicはUnicodeによってグラフィックとして定義されたルーンかどうかを報告します。
    19  // これには、カテゴリ [L]、[M]、[N]、[P]、[S]、[Zs] の文字が含まれます。
    20  func IsGraphic(r rune) bool
    21  
    22  // IsPrintは、Goによって印字可能として定義されているルーンかどうかを報告します。これには文字、マーク、数字、句読点、記号、およびASCIIスペース文字が含まれます。これはカテゴリ [L]、[M]、[N]、[P]、[S]、およびASCIIスペース文字と同じ分類です(ただし、唯一のスペース文字はASCIIスペース、U+0020です)。IsGraphicとは異なり、この区分にはASCIIスペース文字のみが含まれています。
    23  func IsPrint(r rune) bool
    24  
    25  // IsOneOfは、ルーンがいずれかの範囲のメンバーであるかどうかを報告します。
    26  // 関数"In"はより良いシグネチャを提供し、IsOneOfよりも使われるべきです。
    27  func IsOneOf(ranges []*RangeTable, r rune) bool
    28  
    29  // ランジのいずれかのメンバーかどうかを報告する。
    30  func In(r rune, ranges ...*RangeTable) bool
    31  
    32  // IsControlはルーンが制御文字であるかどうかを報告します。
    33  // [C] ([Other])のUnicodeカテゴリにはサロゲートなど、より多くのコードポイントが含まれています。
    34  // それらをテストするには [Is](C, r)を使用してください。
    35  func IsControl(r rune) bool
    36  
    37  // IsLetterはルーンが文字(カテゴリー [L])であるかどうかを報告します。
    38  func IsLetter(r rune) bool
    39  
    40  // IsMarkは、ルーンがマーク文字(カテゴリー [M])であるかどうかを報告します。
    41  func IsMark(r rune) bool
    42  
    43  // IsNumberはルーンが数字(カテゴリー [N])であるかどうかを報告します。
    44  func IsNumber(r rune) bool
    45  
    46  // IsPunctはruneがUnicodeの句読点(カテゴリー [P])であるかどうかを報告します。
    47  func IsPunct(r rune) bool
    48  
    49  // IsSpaceは、UnicodeのWhite Spaceプロパティによって定義された空白文字であるかどうかを報告します。
    50  // これには、Latin-1スペースに次の文字が含まれます。
    51  //
    52  // '\t'、'\n'、'\v'、'\f'、'\r'、' '、U+0085(NEL)、U+00A0(NBSP)。
    53  //
    54  // スペーシング文字の他の定義は、カテゴリZおよびプロパティ [Pattern_White_Space] によって設定されています。
    55  func IsSpace(r rune) bool
    56  
    57  // IsSymbolはルーンが記号の文字であるかどうかを報告します。
    58  func IsSymbol(r rune) bool