Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

最新源碼編譯安裝UI顯示異常 #753

Closed
yakirChen opened this issue Apr 18, 2023 · 19 comments · Fixed by #898
Closed

最新源碼編譯安裝UI顯示異常 #753

yakirChen opened this issue Apr 18, 2023 · 19 comments · Fixed by #898

Comments

@yakirChen
Copy link

yakirChen commented Apr 18, 2023

最新源碼 #749 編譯安裝UI顯示異常

kill進程之後刪除 Squirrel.app、配置文件, 之後重啓、編譯、安裝
使用 plum 初始化 luna-pinyin

2023-04-18.10.13.06.mov
@yakirChen yakirChen changed the title 最新源碼便宜安裝UI顯示異常 最新源碼編譯安裝UI顯示異常 Apr 18, 2023
@yakirChen
Copy link
Author

回退至commit 92f662d 已正常

@yakirChen
Copy link
Author

yakirChen commented Apr 18, 2023

可能librime沒有更新,你去下載我編譯好的試試

https://github.com/LEOYoon-Tsaw/squirrel/releases

librime是新的,
image

@groverlynn
Copy link
Contributor

應該是濫用U+2060 word-joiner的結果……

@LEOYoon-Tsaw
Copy link
Member

LEOYoon-Tsaw commented Apr 18, 2023

我嚴格按 https://github.com/rime/squirrel/blob/master/INSTALL.md 指示編譯了一遍,安裝上沒有問題。

你遇到的問題多半是編譯上或方案上的。不知道你編譯的過程/具體方案的情況下無法爲你debug。

下載我編譯好的 https://github.com/LEOYoon-Tsaw/squirrel/releases 試試可以確證這一點;你也可以把你的方案發出來,我試試。

@LEOYoon-Tsaw
Copy link
Member

應該是濫用U+2060 word-joiner的結果……

你確定嗎?瞎猜沒有幫助

@LEOYoon-Tsaw
Copy link
Member

還有一個可能是系統版本過低,新的要求是12.0以上

@yakirChen
Copy link
Author

yakirChen commented Apr 19, 2023

系统版本: 12.6.5 (21G531)

image

cmakeboost 为之前版本编译安装遗留

克隆代码

git clone --recurse-submodules --depth 1 git@github.com:rime/squirrel.git

构建依赖

make ARCHS=$(uname -m) MACOSX_DEPLOYMENT_TARGET=$(sw_vers | grep "ProductVersion" | awk '/ProductVersion:/ {print $2}') deps

构建

make -j12 ARCHS=$(uname -m) MACOSX_DEPLOYMENT_TARGET=$(sw_vers | grep "ProductVersion" | awk '/ProductVersion:/ {print $2}')

安装

sudo make ARCHS=$(uname -m) MACOSX_DEPLOYMENT_TARGET=$(sw_vers | grep "ProductVersion" | awk '/ProductVersion:/ {print $2}') install 

@LEOYoon-Tsaw
Copy link
Member

LEOYoon-Tsaw commented Apr 19, 2023

git clone --recursive https://github.com/rime/squirrel.git
cd squirrel
make package ARCHS='arm64 x86_64' MACOSX_DEPLOYMENT_TARGET='12.0'

手動刪除/Library/Input\ Methods/Squirrel.app後,點擊安裝 package/squirrel.pkg,按要求登出再登入,一切正常
無法復現你描述的bug。我系統是13.3,我沒有12.x的環境,但大概不差這一個版本。

@yakirChen
Copy link
Author

yakirChen commented Apr 19, 2023

git clone --recursive https://github.com/rime/squirrel.git
make package ARCHS='x86_64' MACOSX_DEPLOYMENT_TARGET='12.0'
  • kill 进程,
  • 删除 "/Library/Input Methods/Squirrel.app"
  • 重启系统
  • 双击 package/Squirrel.pkg
  • 退出登录
  • 登录

结果与issues一致,不能正常工作

退回构建代码构建,正常工作

PS: 新构件菜单栏ICON在12.0,系统中呈现宽扁形态,与系统UI不一致

@yakirChen
Copy link
Author

工作与否,猜测与系统版本相关

@LEOYoon-Tsaw
Copy link
Member

我翻出了我7年前的古董MacBook Pro,裝上12.0.1系統和Xcode13.1,問題找到了:

[_view.textView.textContentStorage setAttributedString:text];

在12.x系統中無效,但不報錯!!打印_view.textView.textContentStorage.attributedString.string顯示NULL
在13.x系統中才能正常工作。試了一下沒找到在12.x系統下的解決辦法,如果有人能嘗試成功那是極好的。

那只能把最低系統要求提高到13.0了。這次更新的核心就是使用 TextKit 2,沒辦法繞開上述問題。

@yakirChen
Copy link
Author

那意思是之后这个主分支就不再支持13以下的系统了么?

@LEOYoon-Tsaw
Copy link
Member

LEOYoon-Tsaw commented Apr 20, 2023

有好用的新技術在眼前,為何要抱著過去不放
TextKit 2能解決Emoji行高來回變化、偏移,部份罕見字符導致介面計算錯誤,並且是替代20年前推出的TextKit的新技術。在這儿划斷,放棄舊版系統不虧。
比如左舊右新:
image

上舊下新

Screenshot 2023-04-20 at 09 43 26

@yakirChen
Copy link
Author

不敢苟同这个处理方式,macOS 12.x我相信还是有人用的

@LEOYoon-Tsaw
Copy link
Member

不敢苟同这个处理方式,macOS 12.x我相信还是有人用的

守著舊系統沒有任何問題。但新功能用不了不是很正常?

@groverlynn
Copy link
Contributor

白色TextKit 2,黑色TextKit
Screenshot 2023-06-29 at 20 01 58 (2)
Screenshot 2023-06-29 at 20 07 31
Screenshot 2023-06-29 at 20 04 17 (2)
Screenshot 2023-06-29 at 20 05 43 (2)
TextKit 2的主要改進是針對南亞文字沒有明確邊界。針對象形文字、字母,直接繼承TextKit,沒有區別,倒是TextKit 的API更豐富更靈活

@dyphire
Copy link

dyphire commented Apr 16, 2024

在最新的夜间构建版上遇到了同样的问题,系统:12.7
也就是说 13.0 以下的系统都不再受支持,无法使用 librime 的新特性

@ksqsf
Copy link
Member

ksqsf commented Apr 16, 2024

@dyphire 可尝试 groverlynn 的 fork:https://github.com/groverlynn/squirrel/releases

@dyphire
Copy link

dyphire commented Apr 16, 2024

@dyphire 可尝试 groverlynn 的 fork:https://github.com/groverlynn/squirrel/releases

他那个 PR 版本之前试过也无法正常使用,在他的 PR #848 下有过反馈,估计也是和系统有关

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants