mirror of
https://github.com/mii443/AzooKeyKanaKanjiConverter.git
synced 2025-08-22 23:15:25 +00:00
fix: expose CharacterUtils
This commit is contained in:
@ -8,7 +8,7 @@
|
||||
|
||||
import Foundation
|
||||
|
||||
package enum CharacterUtils {
|
||||
public enum CharacterUtils {
|
||||
/// 小書きのかなカナ集合
|
||||
private static let kogakiKana: Set<Character> = [
|
||||
"ぁ", "ぃ", "ぅ", "ぇ", "ぉ", "ゕ", "ゖ", "っ", "ゃ", "ゅ", "ょ", "ゎ",
|
||||
@ -26,12 +26,12 @@ package enum CharacterUtils {
|
||||
}
|
||||
|
||||
/// ローマ字(a-z, A-Zか否か)
|
||||
@inlinable package static func isRomanLetter(_ character: Character) -> Bool {
|
||||
@inlinable public static func isRomanLetter(_ character: Character) -> Bool {
|
||||
character.isASCII && character.isCased
|
||||
}
|
||||
|
||||
/// 自分が小書きであれば該当する文字を返す。
|
||||
package static func kogaki(_ character: Character) -> Character {
|
||||
public static func kogaki(_ character: Character) -> Character {
|
||||
switch character {
|
||||
case "あ": return "ぁ"
|
||||
case "い": return "ぃ"
|
||||
@ -62,7 +62,7 @@ package enum CharacterUtils {
|
||||
}
|
||||
|
||||
/// 小書きから大書きを返す
|
||||
package static func ogaki(_ character: Character) -> Character {
|
||||
public static func ogaki(_ character: Character) -> Character {
|
||||
switch character {
|
||||
case "ぁ": return "あ"
|
||||
case "ぃ": return "い"
|
||||
@ -93,11 +93,11 @@ package enum CharacterUtils {
|
||||
}
|
||||
|
||||
/// 濁点付きか否か
|
||||
package static func isDakuten(_ character: Character) -> Bool {
|
||||
public static func isDakuten(_ character: Character) -> Bool {
|
||||
dakutenKana.contains(character)
|
||||
}
|
||||
/// 濁点をつけて返す
|
||||
package static func dakuten(_ character: Character) -> Character {
|
||||
public static func dakuten(_ character: Character) -> Character {
|
||||
switch character {
|
||||
case"う": return "ゔ"
|
||||
case"か": return "が"
|
||||
@ -145,7 +145,7 @@ package enum CharacterUtils {
|
||||
}
|
||||
}
|
||||
/// 濁点を外して返す
|
||||
package static func mudakuten(_ character: Character) -> Character {
|
||||
public static func mudakuten(_ character: Character) -> Character {
|
||||
switch character {
|
||||
case"ゔ": return "う"
|
||||
case"が": return "か"
|
||||
@ -193,14 +193,14 @@ package enum CharacterUtils {
|
||||
}
|
||||
}
|
||||
/// 半濁点かどうか
|
||||
package static func isHandakuten(_ character: Character) -> Bool {
|
||||
public static func isHandakuten(_ character: Character) -> Bool {
|
||||
[
|
||||
"ぱ", "ぴ", "ぷ", "ぺ", "ぽ",
|
||||
"パ", "ピ", "プ", "ペ", "ポ"
|
||||
].contains(character)
|
||||
}
|
||||
/// 半濁点をつけて返す
|
||||
package static func handakuten(_ character: Character) -> Character {
|
||||
public static func handakuten(_ character: Character) -> Character {
|
||||
switch character {
|
||||
case"は": return "ぱ"
|
||||
case"ひ": return "ぴ"
|
||||
@ -216,7 +216,7 @@ package enum CharacterUtils {
|
||||
}
|
||||
}
|
||||
/// 半濁点を外して返す
|
||||
package static func muhandakuten(_ character: Character) -> Character {
|
||||
public static func muhandakuten(_ character: Character) -> Character {
|
||||
switch character {
|
||||
case"ぱ": return "は"
|
||||
case"ぴ": return "ひ"
|
||||
@ -233,7 +233,7 @@ package enum CharacterUtils {
|
||||
}
|
||||
|
||||
/// 濁点、小書き、半濁点などを相互に変換する関数。
|
||||
package static func requestChange(_ character: Character) -> String {
|
||||
public static func requestChange(_ character: Character) -> String {
|
||||
if character.isLowercase {
|
||||
return character.uppercased()
|
||||
}
|
||||
@ -285,7 +285,7 @@ package enum CharacterUtils {
|
||||
}
|
||||
}
|
||||
|
||||
package extension Character {
|
||||
public extension Character {
|
||||
/// Returns the Katakanized version of the character.
|
||||
@inlinable func toKatakana() -> Character {
|
||||
if self.unicodeScalars.count != 1 {
|
||||
|
Reference in New Issue
Block a user