該測試為窮極測試,測試盡可能所有的在理論上能用倚天26與許氏鍵盤輸入的注音組合。
在執行此測試之前,請在 Mandarin.h 的接近檔案末尾的位置新增如下圖選中區域的內容:
也就是在 BopomofoReadingBuffer 的 public 段新增:
std::string cnvSequence(std::string givenSequence) {
clear();
@font-face { | |
font-family: 'Inter_Web'; | |
font-weight: 100 900; | |
font-display: swap; | |
font-style: oblique 0deg 10deg; | |
src: url(data:font/opentype;charset=utf-8;base64,d09GMgABAAAABNhQABIAAAAMKDwABNfZAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGowsG4fldByBpkI/SFZBUsNQP01WQVKBOgZgP1NUQVQkAIHAJC+CEAqImDiG9VULzzAAMJjyYAE2AiQDzywEIAWVEweC7GNb9K3bAUE+vbrZy/mugNzm6cJBbK1jtFZxU/TVlo+EhAL+NeKb2V8bDxLau1A2EJTE5p5J/89EKQ/1wDHUQXXI0AcCDYiuOvehOSAyxjYvV4gkbnbJbs3yUJsQPfv/////////////////////hpMfT7r1ZnZ35v+/jRCSEEgIYQ2EktCl9CMEqaIGCwIqaD/1LAfhRIkRYh3CiFHESJDCkLTPQQyElRz6kcfAQIFGKKZsgZRksDw0TCukqmwi7Ij4l9ZIOqoworl6f/9YVqo8YMyQaYxjAs45pmyMYZqaTEbMcI6dwsQ0kRmjLaFJpggF7dC2LDUQKmRy1mA600ozSi1j+9tEhcyVizrfIgonTI4UF+jiUBbSbKnOZ56XyRwzjCXmoVSEWVl1Zk6ctSJr2brYCXEbbYExInFC+qxaoaI6JRARssmOy1a2vbPbQBjcvWgsiv4hy973efGvwT7oJEmSJDmEfBy8A0RRrksEBZOm5DBmHwkrR6yKf9PssZwke+PUBuVgrbjQPDxFN5qLutU8BPbUmtyuwo04czarcM4ZgcCkZvC8ESIMBx53Q4R4hKMqdr2eo6aeBoTk6SkVeoFF8gRuP/SUPWWzxjOsooet4VUYkpnDMqO7hrNG+Uu+xz6HcG26xITet3jx7QWnELQEnZd4JYbuoeShTBZxRfY5i/IBfU2m |
<?xml version="1.0" encoding="UTF-8"?> | |
<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> | |
<!-- --> | |
<fontconfig> | |
<!-- Basic CJK Font Fallback Rule Redifined --> | |
<match target="pattern"> | |
<test qual="any" name="lang" compare="contains"> | |
<string>zh-TW</string> | |
</test> | |
<test qual="any" name="lang" compare="contains"> |
##### やったあと再起動をお忘れずに。 ##### | |
##### REQUIRES REBOOT TO TAKE EFFECT ##### | |
##### Stop Rechecking Application and DMG hashes ##### | |
##### アプリ・DMGの完全性検査を自動的にやらないこと ##### | |
defaults write com.apple.LaunchServices LSQuarantine -bool NO | |
##### Whitelist VSTs / AUs ##### | |
##### 全部 VST・AU プラグインを「安全検査済」と表記する ##### |
<?xml version="1.0" encoding="UTF-8"?> | |
<ttFont sfntVersion="\x00\x01\x00\x00" ttLibVersion="4.28"> | |
<name> | |
<namerecord nameID="0" platformID="1" platEncID="0" langID="0x0" unicode="True"> | |
(c) Copyright DynaLab Inc. 1992-1998 | |
</namerecord> | |
<namerecord nameID="1" platformID="1" platEncID="0" langID="0x0" unicode="True"> | |
DFKai-SB | |
</namerecord> |
/// FB10978412: Since macOS 11 Big Sur, CTFontCreateUIFontForLanguage cannot | |
/// distinguish zh-Hans and zh-Hant with correct adoptation of proper PingFang SC/TC variants. | |
import SwiftUI | |
@main | |
struct FB10978412App: App { | |
var body: some Scene { | |
WindowGroup { | |
ContentView() |
Related sample project: https://github.com/vChewing/vChewing-macOS/tree/3.4.9
It seems that individual bug reports doesn't work at all. Besides, the entire InputMethodKit needs a renovation.
This thread will be sent to Apple by certain special approaches after gathering enough usable information.
Let's talk about what InputMethodKits needs to improve. Here's my conclusion. If Apple think there's already an API, then it might be either mulfunctioning or not exposed to Swift.
https://color.firefox.com/?theme=XQAAAAI-AQAAAAAAAABBqYhm849SCia3ftKEGccwS-xMDPr6gDamZHzRz3dFizlpUiReI-ZYiVK7inbKG9IGfUXu3jVRc6G6zvK1-1UfOf9mrr61QUHM5CaWkYaFS6IMLnm3QsyFX3dZdTUDdL5lmuT5zdXjOleYTsOGAU0EXgAyxw3wZKJPFmvHoVVnboNnApdnvcVAi7SmhiLL7-_3cIxJ9Asi4DcXVuA1IbqAcseCwQjErAPJlf_IBgzhzgkiKVOh569iOREGs-llTl2B0wOkPA04AfQB5Ocz7j5MSbZqixf7u2Sw |
// (c) 2021 and onwards Shiki Suen (MIT-NTL License). | |
// ==================== | |
// This code is released under the MIT license (SPDX-License-Identifier: MIT) | |
import Foundation | |
extension Collection { | |
public func revolvedIndex(_ id: Int, clockwise: Bool = true, steps: Int = 1) -> Int { | |
if id < 0 || steps < 1 { return id } | |
var result = id |
// (c) 2021 and onwards The vChewing Project (MIT License). | |
// ==================== | |
// This code is released under the MIT license (SPDX-License-Identifier: MIT) | |
import Foundation | |
extension Date { | |
/// Check whether current date is the given date. | |
/// - Parameter dateDigits: `yyyyMMdd`, 8-digit integer. If only `MMdd`, then the year will be the current year. | |
/// - Returns: The result. Will return false if the given dateDigits is invalid. |