Description
Right to left Persian language render bug
Is there an existing issue for this?
- I have searched the existing issues
Can the issue be reproduced with the default theme (daylight/midnight)?
- I was able to reproduce the issue with the default theme
Could the issue be due to extensions?
- I've ruled out the possibility that the extension is causing the problem.
Describe the problem
Hi, Thanks for this great app.
After selecting all the text to be right to left direction and chosing the rtl alignment, it doesn't render the bullet point and number list correctly. but the body text is positioned correctly(Except for the title text).
Expected result
Should render something like this:
Screenshot or screen recording presentation
No response
Version environment
- Version: v3.1.21
- Operating System: Win 11
- Browser (if used):
Log file
siyuan.log:
I 2025/02/11 00:26:27 working.go:148:
___ ___ ___ ___
/ /\ ___ ___ //\ / /\ //
/ /:/_ / /\ //| \ :\ / /::\ \ :
/ /:/ /\ / /:/ | |:| \ :\ / /:/:\ \ :
/ /:/ /::\ //::\ | |:| ___ \ :\ / /://::\ __:/:/ \ :/\ //::::\ \ :\ / /:/ \ :/:// \ :~
//:/ /:/:\ _/:_ ||:| //\ __:\ //:/ /:/:\ /_/::::::::
\ :/:/~/
\ ::/ /:/ _::/ ~:\ \ :\ /:/ \ ::/ \ :\ ~~~
_/ /:/ //:/ \ :\ \ :/:/ \ :\ \ :
//:/ _/ _/ \ ::/ \ :\ \ :
_/ _/ _/ _/
I 2025/02/11 00:26:27 runtime.go:87: kernel is booting:
* ver [3.1.20]
* arch [amd64]
* os [Microsoft Windows 11 Pro]
* pid [17796]
* runtime mode [prod]
* working directory [C:\Program Files\SiYuan\resources]
* read only [false]
* container [std]
* database [ver=20220501]
* workspace directory [D:\SiYaun]
I 2025/02/11 00:26:27 conf.go:147: initialized the specified language [en_US]
I 2025/02/11 00:26:27 runtime.go:139: use network proxy [system]
I 2025/02/11 00:26:27 serve.go:209: kernel [pid=17796] http server [127.0.0.1:12723] is booting
I 2025/02/11 00:26:28 blocktree.go:75: reinitialized database [D:\SiYaun\temp\blocktree.db]
I 2025/02/11 00:26:28 database.go:92: the database structure is changed, rebuilding database...
I 2025/02/11 00:26:28 database.go:109: reinitialized database [D:\SiYaun\temp\siyuan.db]
I 2025/02/11 00:26:28 conf.go:853: tree/block count [0/0]
I 2025/02/11 00:26:28 working.go:194: kernel booted
I 2025/02/11 00:26:28 box.go:77: auto stat [trees=0, blocks=0, dataSize=36.87 kB, assetsSize=0 B]
I 2025/02/11 00:26:28 disk.go:33: disk usage [total=326.33 GB, used=217.02 GB, free=109.31 GB]
I 2025/02/11 00:26:28 font.go:58: loaded system fonts [116] in [619ms]
I 2025/02/11 00:26:28 fixedport.go:35: fixed port service [127.0.0.1:6806] is running
I 2025/02/11 00:26:30 pandoc.go:186: initialized built-in pandoc [ver=3.5, bin=D:\SiYaun\temp\pandoc\bin\pandoc.exe]
I 2025/02/11 00:26:30 conf.go:1115: pandoc initialized, set pandoc bin to [D:\SiYaun\temp\pandoc\bin\pandoc.exe]
I 2025/02/11 00:26:31 index.go:220: rebuilt database for notebook [20210808180117-6v0mkxr] in [0.03s], tree [count=67, size=1.39 MB]
I 2025/02/11 00:26:31 index.go:290: resolved refs [37] in [38ms]
I 2025/02/11 00:48:39 mount.go:65: created box [20250211004839-71y9c7i]
I 2025/02/11 00:48:39 index.go:220: rebuilt database for notebook [20250211004839-71y9c7i] in [0.01s], tree [count=0, size=0 B]
I 2025/02/11 00:48:39 index.go:290: resolved refs [37] in [306ms]
E 2025/02/11 00:49:00 tree.go:214: block id is invalid [id=], stack: [ github.com/siyuan-note/siyuan/kernel/model.LoadTreeByBlockID({0x0, 0x0})
D:/88250/siyuan/kernel/model/tree.go:213 +0x151
github.com/siyuan-note/siyuan/kernel/model.GetDoc({0x0, 0x0}, {0x0, 0x0}, {0x0, 0x0}, 0x0, {0x0, 0x0}, 0x0, ...)
D:/88250/siyuan/kernel/model/file.go:454 +0xac
github.com/siyuan-note/siyuan/kernel/api.getDoc(0xc00339e200)
D:/88250/siyuan/kernel/api/filetree.go:1132 +0x6f6
]
E 2025/02/11 00:49:00 tree.go:214: block id is invalid [id=], stack: [ github.com/siyuan-note/siyuan/kernel/model.LoadTreeByBlockID({0x0, 0x0})
D:/88250/siyuan/kernel/model/tree.go:213 +0x151
github.com/siyuan-note/siyuan/kernel/model.GetDoc({0x0, 0x0}, {0x0, 0x0}, {0x0, 0x0}, 0x0, {0x0, 0x0}, 0x0, ...)
D:/88250/siyuan/kernel/model/file.go:454 +0xac
github.com/siyuan-note/siyuan/kernel/api.getDoc(0xc003d40c00)
D:/88250/siyuan/kernel/api/filetree.go:1132 +0x6f6
]
E 2025/02/11 00:49:00 tree.go:214: block id is invalid [id=], stack: [ github.com/siyuan-note/siyuan/kernel/model.LoadTreeByBlockID({0x0, 0x0})
D:/88250/siyuan/kernel/model/tree.go:213 +0x151
github.com/siyuan-note/siyuan/kernel/model.GetDoc({0x0, 0x0}, {0x0, 0x0}, {0x0, 0x0}, 0x0, {0x0, 0x0}, 0x0, ...)
D:/88250/siyuan/kernel/model/file.go:454 +0xac
github.com/siyuan-note/siyuan/kernel/api.getDoc(0xc002d24500)
D:/88250/siyuan/kernel/api/filetree.go:1132 +0x6f6
]
E 2025/02/11 00:49:00 tree.go:214: block id is invalid [id=], stack: [ github.com/siyuan-note/siyuan/kernel/model.LoadTreeByBlockID({0x0, 0x0})
D:/88250/siyuan/kernel/model/tree.go:213 +0x151
github.com/siyuan-note/siyuan/kernel/model.GetDoc({0x0, 0x0}, {0x0, 0x0}, {0x0, 0x0}, 0x0, {0x0, 0x0}, 0x0, ...)
D:/88250/siyuan/kernel/model/file.go:454 +0xac
github.com/siyuan-note/siyuan/kernel/api.getDoc(0xc003d40600)
D:/88250/siyuan/kernel/api/filetree.go:1132 +0x6f6
]
E 2025/02/11 00:49:00 tree.go:214: block id is invalid [id=], stack: [ github.com/siyuan-note/siyuan/kernel/model.LoadTreeByBlockID({0x0, 0x0})
D:/88250/siyuan/kernel/model/tree.go:213 +0x151
github.com/siyuan-note/siyuan/kernel/model.GetDoc({0x0, 0x0}, {0x0, 0x0}, {0x0, 0x0}, 0x0, {0x0, 0x0}, 0x0, ...)
D:/88250/siyuan/kernel/model/file.go:454 +0xac
github.com/siyuan-note/siyuan/kernel/api.getDoc(0xc003d40b00)
D:/88250/siyuan/kernel/api/filetree.go:1132 +0x6f6
]
I 2025/02/11 00:50:19 format.go:32: formatting tree [20250211004843-x98ixr7]...
I 2025/02/11 00:50:19 format.go:75: formatted tree [20250211004843-x98ixr7]
I 2025/02/11 01:03:50 conf.go:615: exiting kernel [force=false, setCurrentWorkspace=true, execInstallPkg=0]
W 2025/02/11 01:03:50 box.go:115: found a corrupted box [D:\SiYaun\data\20210808180117-6v0mkxr]
W 2025/02/11 01:03:50 box.go:143: fixed a corrupted box [D:\SiYaun\data\20210808180117-6v0mkxr]
I 2025/02/11 01:03:50 conf.go:1105: closed user guide box [20210808180117-6v0mkxr]
I 2025/02/11 01:03:50 database.go:1318: closed database
E 2025/02/11 01:03:50 blocktree.go:393: sql query [SELECT * FROM blocktrees WHERE id = ?] failed: github.com/siyuan-note/siyuan/kernel/treenode.GetBlockTree({0xc0007bce10, 0x16})
D:/88250/siyuan/kernel/treenode/blocktree.go:393 +0x185
github.com/siyuan-note/siyuan/kernel/model.LoadTreeByBlockID({0xc0007bce10, 0x16})
D:/88250/siyuan/kernel/model/tree.go:218 +0x3f
github.com/siyuan-note/siyuan/kernel/model.Outline({0xc0007bce10, 0x16}, 0x0)
D:/88250/siyuan/kernel/model/outline.go:213 +0x4b
github.com/siyuan-note/siyuan/kernel/api.getDocOutline(0xc001532300)
D:/88250/siyuan/kernel/api/outline.go:47 +0x145
I 2025/02/11 01:03:50 conf.go:1036: cleared workspace temp
I 2025/02/11 01:03:51 sync.go:798: sync websocket closed
I 2025/02/11 01:03:56 working.go:148:
___ ___ ___ ___
/ /\ ___ ___ //\ / /\ //
/ /:/_ / /\ //| \ :\ / /::\ \ :
/ /:/ /\ / /:/ | |:| \ :\ / /:/:\ \ :
/ /:/ /::\ //::\ | |:| ___ \ :\ / /://::\ __:/:/ \ :/\ //::::\ \ :\ / /:/ \ :/:// \ :~
//:/ /:/:\ _/:_ ||:| //\ __:\ //:/ /:/:\ /_/::::::::
\ :/:/~/
\ ::/ /:/ _::/ ~:\ \ :\ /:/ \ ::/ \ :\ ~~~
_/ /:/ //:/ \ :\ \ :/:/ \ :\ \ :
//:/ _/ _/ \ ::/ \ :\ \ :
_/ _/ _/ _/
I 2025/02/11 01:03:56 runtime.go:87: kernel is booting:
* ver [3.1.20]
* arch [amd64]
* os [Microsoft Windows 11 Pro]
* pid [19028]
* runtime mode [prod]
* working directory [C:\Program Files\SiYuan\resources]
* read only [false]
* container [std]
* database [ver=20220501]
* workspace directory [D:\SiYaun]
I 2025/02/11 01:03:56 conf.go:129: loaded conf [D:\SiYaun\conf\conf.json]
I 2025/02/11 01:03:56 runtime.go:139: use network proxy [system]
I 2025/02/11 01:03:56 serve.go:209: kernel [pid=19028] http server [127.0.0.1:13075] is booting
I 2025/02/11 01:03:57 working.go:513: database [D:\SiYaun\temp\siyuan.db] size [9.7 MB]
I 2025/02/11 01:03:57 working.go:513: database [D:\SiYaun\temp\blocktree.db] size [790.53 kB]
I 2025/02/11 01:03:57 working.go:513: database [D:\SiYaun\temp\history.db] size [65.54 kB]
I 2025/02/11 01:03:57 working.go:513: database [D:\SiYaun\temp\asset_content.db] size [24.58 kB]
I 2025/02/11 01:03:57 conf.go:853: tree/block count [1/350]
I 2025/02/11 01:03:57 working.go:194: kernel booted
I 2025/02/11 01:03:57 box.go:77: auto stat [trees=1, blocks=350, dataSize=4.58 MB, assetsSize=0 B]
I 2025/02/11 01:03:57 disk.go:33: disk usage [total=326.33 GB, used=217.18 GB, free=109.15 GB]
I 2025/02/11 01:03:57 fixedport.go:35: fixed port service [127.0.0.1:6806] is running
I 2025/02/11 01:03:57 font.go:58: loaded system fonts [116] in [965ms]
I 2025/02/11 01:04:00 pandoc.go:146: built-in pandoc [ver=3.5, bin=D:\SiYaun\temp\pandoc\bin\pandoc.exe]
I 2025/02/11 01:04:00 conf.go:1115: pandoc initialized, set pandoc bin to [D:\SiYaun\temp\pandoc\bin\pandoc.exe]
I 2025/02/11 01:11:11 format.go:32: formatting tree [20250211004843-x98ixr7]...
I 2025/02/11 01:11:11 format.go:75: formatted tree [20250211004843-x98ixr7]
I 2025/02/11 01:20:53 conf.go:615: exiting kernel [force=false, setCurrentWorkspace=true, execInstallPkg=0]
I 2025/02/11 01:20:53 database.go:1318: closed database
I 2025/02/11 01:20:53 conf.go:1036: cleared workspace temp
I 2025/02/11 01:20:53 sync.go:798: sync websocket closed
I 2025/02/11 10:27:02 working.go:148:
___ ___ ___ ___
/ /\ ___ ___ //\ / /\ //
/ /:/_ / /\ //| \ :\ / /::\ \ :
/ /:/ /\ / /:/ | |:| \ :\ / /:/:\ \ :
/ /:/ /::\ //::\ | |:| ___ \ :\ / /://::\ __:/:/ \ :/\ //::::\ \ :\ / /:/ \ :/:// \ :~
//:/ /:/:\ _/:_ ||:| //\ __:\ //:/ /:/:\ /_/::::::::
\ :/:/~/
\ ::/ /:/ _::/ ~:\ \ :\ /:/ \ ::/ \ :\ ~~~
_/ /:/ //:/ \ :\ \ :/:/ \ :\ \ :
//:/ _/ _/ \ ::/ \ :\ \ :
_/ _/ _/ _/
I 2025/02/11 10:27:02 runtime.go:87: kernel is booting:
* ver [3.1.20]
* arch [amd64]
* os [Microsoft Windows 11 Pro]
* pid [14528]
* runtime mode [prod]
* working directory [C:\Program Files\SiYuan\resources]
* read only [false]
* container [std]
* database [ver=20220501]
* workspace directory [D:\SiYaun]
I 2025/02/11 10:27:02 conf.go:129: loaded conf [D:\SiYaun\conf\conf.json]
I 2025/02/11 10:27:02 runtime.go:139: use network proxy [system]
I 2025/02/11 10:27:02 serve.go:209: kernel [pid=14528] http server [127.0.0.1:1674] is booting
I 2025/02/11 10:27:02 working.go:513: database [D:\SiYaun\temp\siyuan.db] size [9.7 MB]
I 2025/02/11 10:27:02 working.go:513: database [D:\SiYaun\temp\blocktree.db] size [790.53 kB]
I 2025/02/11 10:27:02 working.go:513: database [D:\SiYaun\temp\history.db] size [90.12 kB]
I 2025/02/11 10:27:02 working.go:513: database [D:\SiYaun\temp\asset_content.db] size [24.58 kB]
I 2025/02/11 10:27:02 conf.go:853: tree/block count [1/491]
I 2025/02/11 10:27:02 working.go:194: kernel booted
I 2025/02/11 10:27:02 box.go:77: auto stat [trees=1, blocks=491, dataSize=4.68 MB, assetsSize=93.39 kB]
I 2025/02/11 10:27:02 disk.go:33: disk usage [total=326.33 GB, used=217.33 GB, free=109.01 GB]
I 2025/02/11 10:27:03 font.go:58: loaded system fonts [116] in [595ms]
I 2025/02/11 10:27:03 fixedport.go:35: fixed port service [127.0.0.1:6806] is running
I 2025/02/11 10:27:04 pandoc.go:146: built-in pandoc [ver=3.5, bin=D:\SiYaun\temp\pandoc\bin\pandoc.exe]
I 2025/02/11 10:27:04 conf.go:1115: pandoc initialized, set pandoc bin to [D:\SiYaun\temp\pandoc\bin\pandoc.exe]
I 2025/02/11 10:27:33 updater.go:183: downloading install package [https://release.b3log.org/siyuan/siyuan-3.1.21-win.exe]
I 2025/02/11 10:27:50 updater.go:201: downloaded install package [https://release.b3log.org/siyuan/siyuan-3.1.21-win.exe] to [D:\SiYaun\temp\install\siyuan-3.1.21-win.exe]
I 2025/02/11 10:29:26 working.go:150:
___ ___ ___ ___
/ /\ ___ ___ //\ / /\ //
/ /:/_ / /\ //| \ :\ / /::\ \ :
/ /:/ /\ / /:/ | |:| \ :\ / /:/:\ \ :
/ /:/ /::\ //::\ | |:| ___ \ :\ / /://::\ __:/:/ \ :/\ //::::\ \ :\ / /:/ \ :/:// \ :~
//:/ /:/:\ _/:_ ||:| //\ __:\ //:/ /:/:\ /_/::::::::
\ :/:/~/
\ ::/ /:/ _::/ ~:\ \ :\ /:/ \ ::/ \ :\ ~~~
_/ /:/ //:/ \ :\ \ :/:/ \ :\ \ :
//:/ _/ _/ \ ::/ \ :\ \ :
_/ _/ _/ _/
I 2025/02/11 10:29:26 runtime.go:87: kernel is booting:
* ver [3.1.21]
* arch [amd64]
* os [Microsoft Windows 11 Pro]
* pid [17012]
* runtime mode [prod]
* working directory [C:\Program Files\SiYuan\resources]
* read only [false]
* container [std]
* database [ver=20220501]
* workspace directory [D:\SiYaun]
I 2025/02/11 10:29:26 conf.go:129: loaded conf [D:\SiYaun\conf\conf.json]
I 2025/02/11 10:29:26 conf.go:288: upgraded from version [3.1.20] to [3.1.21]
I 2025/02/11 10:29:26 conf.go:520: user has disabled [Google Analytics]
I 2025/02/11 10:29:26 runtime.go:139: use network proxy [system]
I 2025/02/11 10:29:26 serve.go:209: kernel [pid=17012] http server [127.0.0.1:1822] is booting
I 2025/02/11 10:29:26 pandoc.go:146: built-in pandoc [ver=3.5, bin=D:\SiYaun\temp\pandoc\bin\pandoc.exe]
I 2025/02/11 10:29:26 conf.go:1127: pandoc initialized, set pandoc bin to [D:\SiYaun\temp\pandoc\bin\pandoc.exe]
I 2025/02/11 10:29:26 working.go:515: database [D:\SiYaun\temp\siyuan.db] size [9.7 MB]
I 2025/02/11 10:29:26 working.go:515: database [D:\SiYaun\temp\blocktree.db] size [790.53 kB]
I 2025/02/11 10:29:26 working.go:515: database [D:\SiYaun\temp\history.db] size [90.12 kB]
I 2025/02/11 10:29:26 working.go:515: database [D:\SiYaun\temp\asset_content.db] size [24.58 kB]
I 2025/02/11 10:29:26 conf.go:865: tree/block count [1/491]
I 2025/02/11 10:29:26 working.go:196: kernel booted
I 2025/02/11 10:29:26 box.go:77: auto stat [trees=1, blocks=491, dataSize=4.68 MB, assetsSize=93.39 kB]
I 2025/02/11 10:29:26 disk.go:33: disk usage [total=326.33 GB, used=217.49 GB, free=108.85 GB]
I 2025/02/11 10:29:26 font.go:58: loaded system fonts [116] in [86ms]
I 2025/02/11 10:29:27 fixedport.go:35: fixed port service [127.0.0.1:6806] is running
I 2025/02/11 11:55:50 format.go:32: formatting tree [20250211004843-x98ixr7]...
I 2025/02/11 11:55:50 format.go:75: formatted tree [20250211004843-x98ixr7]
More information
No response
Activity
🎨 #14044
[-]Right to left Persian language render bug[/-][+]Improved RTL rendering[/+][-]Improved RTL rendering[/-][+]Improve RTL rendering[/+]Nishef commentedon Feb 19, 2025
Hi there,
I've tested the https://github.com/siyuan-note/siyuan/releases/tag/v3.1.23-dev1 version and the issue persist. Only when I choose the RTL rendering from the setting it works fine but the issue is I don't want the english contents render as RTL, I want my selected text change the direction to my desire.
88250 commentedon Feb 20, 2025
@Nishef Sorry, this cannot be done, RTL is a global setting.
🎨 #14044
Vanessa219 commentedon Feb 20, 2025
List items and list block RTL will be added later.
🎨 siyuan-note#14044
🎨 siyuan-note#14044