From 6169ebfe4fbd60f24208b4c52053603e7ca82a1c Mon Sep 17 00:00:00 2001 From: ShikiSuen Date: Mon, 18 Apr 2022 11:09:19 +0800 Subject: [PATCH] Repo // Add CONTRIBUTING, etc. --- .clang-format | 172 +----------------------------------------------- CHANGELOG | 5 ++ CONTRIBUTING.md | 42 ++++++++++++ README.md | 15 +---- 4 files changed, 51 insertions(+), 183 deletions(-) create mode 100644 CHANGELOG create mode 100644 CONTRIBUTING.md diff --git a/.clang-format b/.clang-format index 41173776..d4f347b2 100644 --- a/.clang-format +++ b/.clang-format @@ -1,171 +1 @@ ---- -Language: Cpp -# BasedOnStyle: Microsoft -AccessModifierOffset: -1 -AlignAfterOpenBracket: Align -AlignConsecutiveMacros: false -AlignConsecutiveAssignments: false -AlignConsecutiveDeclarations: false -AlignEscapedNewlines: Left -AlignOperands: true -AlignTrailingComments: true -AllowAllArgumentsOnNextLine: true -AllowAllConstructorInitializersOnNextLine: true -AllowAllParametersOfDeclarationOnNextLine: true -AllowShortBlocksOnASingleLine: Never -AllowShortCaseLabelsOnASingleLine: false -AllowShortFunctionsOnASingleLine: All -AllowShortLambdasOnASingleLine: All -AllowShortIfStatementsOnASingleLine: WithoutElse -AllowShortLoopsOnASingleLine: true -AlwaysBreakAfterDefinitionReturnType: None -AlwaysBreakAfterReturnType: None -AlwaysBreakBeforeMultilineStrings: true -AlwaysBreakTemplateDeclarations: Yes -BinPackArguments: true -BinPackParameters: true -BraceWrapping: - AfterCaseLabel: false - AfterClass: false - AfterControlStatement: false - AfterEnum: false - AfterFunction: false - AfterNamespace: false - AfterObjCDeclaration: false - AfterStruct: false - AfterUnion: false - AfterExternBlock: false - BeforeCatch: false - BeforeElse: false - IndentBraces: false - SplitEmptyFunction: true - SplitEmptyRecord: true - SplitEmptyNamespace: true -BreakBeforeBinaryOperators: None -BreakBeforeBraces: Attach -BreakBeforeInheritanceComma: false -BreakInheritanceList: BeforeColon -BreakBeforeTernaryOperators: true -BreakConstructorInitializersBeforeComma: false -BreakConstructorInitializers: BeforeColon -BreakAfterJavaFieldAnnotations: false -BreakStringLiterals: true -ColumnLimit: 80 -CommentPragmas: '^ IWYU pragma:' -CompactNamespaces: false -ConstructorInitializerAllOnOneLineOrOnePerLine: true -ConstructorInitializerIndentWidth: 4 -ContinuationIndentWidth: 4 -Cpp11BracedListStyle: true -DeriveLineEnding: true -DerivePointerAlignment: false -DisableFormat: false -ExperimentalAutoDetectBinPacking: false -FixNamespaceComments: true -ForEachMacros: - - foreach - - Q_FOREACH - - BOOST_FOREACH -IncludeBlocks: Regroup -IncludeCategories: - - Regex: '^' - Priority: 2 - SortPriority: 0 - - Regex: '^<.*\.h>' - Priority: 1 - SortPriority: 0 - - Regex: '^<.*' - Priority: 2 - SortPriority: 0 - - Regex: '.*' - Priority: 3 - SortPriority: 0 -IncludeIsMainRegex: '([-_](test|unittest))?$' -IncludeIsMainSourceRegex: '' -IndentCaseLabels: true -IndentGotoLabels: true -IndentPPDirectives: None -IndentWidth: 4 -IndentWrappedFunctionNames: false -JavaScriptQuotes: Leave -JavaScriptWrapImports: true -KeepEmptyLinesAtTheStartOfBlocks: false -MacroBlockBegin: '' -MacroBlockEnd: '' -MaxEmptyLinesToKeep: 1 -NamespaceIndentation: None -ObjCBinPackProtocolList: Never -ObjCBlockIndentWidth: 4 -ObjCSpaceAfterProperty: false -ObjCSpaceBeforeProtocolList: true -PenaltyBreakAssignment: 2 -PenaltyBreakBeforeFirstCallParameter: 1 -PenaltyBreakComment: 300 -PenaltyBreakFirstLessLess: 120 -PenaltyBreakString: 1000 -PenaltyBreakTemplateDeclaration: 10 -PenaltyExcessCharacter: 1000000 -PenaltyReturnTypeOnItsOwnLine: 200 -PointerAlignment: Left -RawStringFormats: - - Language: Cpp - Delimiters: - - h - - m - - hh - - mm - - cc - - CC - - cpp - - Cpp - - CPP - - 'c++' - - 'C++' - CanonicalDelimiter: '' - BasedOnStyle: Microsoft - - Language: TextProto - Delimiters: - - pb - - PB - - proto - - PROTO - EnclosingFunctions: - - EqualsProto - - EquivToProto - - PARSE_PARTIAL_TEXT_PROTO - - PARSE_TEST_PROTO - - PARSE_TEXT_PROTO - - ParseTextOrDie - - ParseTextProtoOrDie - CanonicalDelimiter: '' - BasedOnStyle: Microsoft -ReflowComments: true -SortIncludes: true -SortUsingDeclarations: true -SpaceAfterCStyleCast: false -SpaceAfterLogicalNot: false -SpaceAfterTemplateKeyword: true -SpaceBeforeAssignmentOperators: true -SpaceBeforeCpp11BracedList: false -SpaceBeforeCtorInitializerColon: true -SpaceBeforeInheritanceColon: true -SpaceBeforeParens: ControlStatements -SpaceBeforeRangeBasedForLoopColon: true -SpaceInEmptyBlock: false -SpaceInEmptyParentheses: false -SpacesBeforeTrailingComments: 2 -SpacesInAngles: false -SpacesInConditionalStatement: false -SpacesInContainerLiterals: true -SpacesInCStyleCastParentheses: false -SpacesInParentheses: false -SpacesInSquareBrackets: false -SpaceBeforeSquareBrackets: false -Standard: Auto -StatementMacros: - - Q_UNUSED - - QT_REQUIRE_VERSION -TabWidth: 4 -UseCRLF: false -UseTab: Always -... +BasedOnStyle: Microsoft diff --git a/CHANGELOG b/CHANGELOG new file mode 100644 index 00000000..e064ea3a --- /dev/null +++ b/CHANGELOG @@ -0,0 +1,5 @@ +https://gitee.com/vchewing/vChewing-macOS/wikis/sort_id=5401886 + +Please read the CHANGELOG through the wiki link above since it will be a disaster to use Git to manage it together with other files in this repo. + +因內容管理上的便利性需求,請改洽上述網址檢視歷代發行說明。 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..3c39d821 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,42 @@ +# 威注音輸入法研發參與相關說明 + +威注音輸入法歡迎有人參與。但為了不讓參與者們浪費各自的熱情,特設此文以說明該專案目前最需要協助的地方。 + +1. 有人能用 Swift 將該專案內這兩個源自 LibFormosa 的組件套件重寫: + - Mandarin 組件,用以分析普通話音韻數據、創建且控制 Syllable Composer 注音拼識組件。 + - Gramambular 套裝,這包括了 Source 資料夾下的其餘全部的 (Obj)C(++) 檔案(LMConsolidator 除外)。 + - LMConsolidator 有 Swift 版本,已經用於威注音語彙編輯器內。給主程式用 C++ 版本僅為了與 Gramambular 協作方便。 + - 這也包括了所有與 Language Model 有關的實現,因為都是 Gramambular 內的某個語言模組 Protocol 衍生出來的東西。 + - LMInstantiator 是用來將語言模組副本化的組件,原本不屬於 Gramambular,但與其衍生的各類語言模組高度耦合。 + - KeyValueBlobReader 不屬於 Gramambular,但與其衍生的各類語言模組高度耦合、也與 KeyHandler 高度耦合。 +2. 讓 Alt+波浪鍵選單能夠在諸如 MS Word 以及終端機內正常工作(可以用方向鍵控制高亮候選內容,等)。 + - 原理上而言恐怕得欺騙當前正在接受輸入的應用、使其誤以為當前有組字區。這只是推測。 +3. SQLite 實現。 + + +除了上述各項以外的貢獻,除非特邀、或者有足夠的說服理由與吸引力(比如語法錯誤或更好的重構方法等),否則敝專案可能會無視或者拒絕。 + +請注意不要浪費自己的時間精力與感情,一定要在自己動工之前打個招呼。 + +如果您對威注音的產品功能發展另有所期的話,威注音雖不接受相關的爭論,但您可以自行建立分流專案。只需要遵守 MIT-NTL 協議、不沿用威注音的品牌名稱即可。 + +## 格式規範: + +該專案對源碼格式有規範,且 Swift 與其他 (Obj)C(++) 系語言持不同規範: + +- Swift: 採 [Apple 官方 Swift-Format](https://github.com/apple/swift-format),且施加如下例外修改項目: + - Indentation 僅使用 `"indentation" : { "tabs" : 1 },`,不以空格來縮進。 + - `"indentSwitchCaseLabels" : true,` + - `"lineLength" : 120,` + - `"NoBlockComments" : false,` + - `"tabWidth" : 4,` + - `"OnlyOneTrailingClosureArgument" : false,` // SwiftUI 相容 + - `"UseTripleSlashForDocumentationComments" : false,` + - `"DontRepeatTypeInStaticProperties" : false,` +- (Obj)C(++) 系語言:使用 clang-format 命令、且採 Microsoft 行文規範。 + - 該規範以四個西文半形空格為行縮進單位。 + - 由於今後不會再用這類語言給該倉庫新增內容,所以相關規範就不改動了。 + +至於對 Swift 檔案改採 1-Tab 縮進,則是為了在尊重所有用戶的需求的同時、最大程度上節約檔案體積。使用者可自行修改 Xcode 的預設 Tab 縮進尺寸。 + +$ EOF. \ No newline at end of file diff --git a/README.md b/README.md index d3ab59d0..09331239 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ - 相比中州韻(鼠須管)而言,威注音能夠做到真正的大千聲韻並擊。 >威注音有很多特色功能。在此僅列舉部分: ->- 支援 macOS 熒幕模擬鍵盤(僅傳統大千與傳統倚天佈局)。 +>- 支援 macOS 螢幕模擬鍵盤(僅傳統大千與傳統倚天佈局)。 >- 可以將自己打的繁體中文自動轉成日本 JIS 新字體來輸出(包括基礎的字詞轉換)、也可以轉成康熙繁體來輸出。 >- 簡繁體中文語料庫彼此分離,徹底杜絕任何繁簡轉換過程可能造成的失誤。 >- 支援最新的全字型檔漢字輸入。 @@ -76,20 +76,11 @@ 使用者可自由使用、散播本軟體,惟散播時必須完整保留版權聲明及軟體授權、且一旦經過修改便不可以再繼續使用威注音的產品名稱。 -## 格式規範: +## 格式規範等與參與研發時需要注意的事項: 該專案對源碼格式有規範,且 Swift 與其他 (Obj)C(++) 系語言持不同規範: -- Swift: 採 [Apple 官方 Swift-Format](https://github.com/apple/swift-format),且施加如下例外修改項目: - - Indentation 僅使用 `"indentation" : { "tabs" : 1 },`,不以空格來縮進。 - - `"indentSwitchCaseLabels" : true,` - - `"lineLength" : 120,` - - `"NoBlockComments" : false,` - - `"tabWidth" : 4,` - - `"OnlyOneTrailingClosureArgument" : false,` // SwiftUI 相容 - - `"UseTripleSlashForDocumentationComments" : false,` - - `"DontRepeatTypeInStaticProperties" : false,` -- (Obj)C(++) 系語言:使用 clang-format 命令、且採 Microsoft 行文規範。該規範以四個西文半形空格為行縮進單位。 +請洽該倉庫內的「[CONTRIBUTING.md](./CONTRIBUTING.md)」檔案。 ## 特殊勸告