2. Shinji Enoki (榎真治)
● From Nishinomiya City, Japan
● A member of LibreOffice Japanese Team(2011-)
● A member of The Document Foundation (2014-)
● Activity: organizing events, grows community,
sometimes QA
● Other community:
● Vice-chairperson of Japan UNIX Society
● A member of Kyoto OpenData Community
● A staff of KANSAI OPEN SOURCE
3. Talk summary
1.What are CJK issues?
2.Typical CJK functions of LibreOffice
3.Typical CJK issues
4.Background of the issues
5.How to test for the CJK issues
4. Do you know the word “CJK issues”?
● Please raise your hand if you don't know...
5. What are CJK issues / bugs
● CJK is an abbreviation for “Chinese-Japanese-Korean”
● LibreOffice has many language-specific features
and issues, CJK issue is one of them.
● CJK issues happen when used in CJK's environment
● A function of CJK is broken
● A bug occurs only with the CJK environment
6.
7. The Document Foundation: Next Decade Manifesto
“To support the preservation of mother tongue by
encouraging people to translate,document, support,
and promote our office productivity tools in their
mother tongue”
● I think these “Our Values” is very good and important
8. Why do CJK people need to work CJK bugs?
● Many LibreOffice developers are European people
● It is hard to notice / understand CJK bug unless it is
people of CJK
● Then, It is very important for CJK users to report /
reproduce CJK bugs
10. Overview of CJK functions
● Text Layout
● Vertical writing
● Phonetic guides (ruby)
● Line Composition
● Multibyte character
● Input methods
● CJK needs similar functionality, but its rules are different
11. Reference: W3C Requirements documents
● Requirements for Chinese Text Layout 中文排版需求
● https://www.w3.org/TR/clreq/
● “This document was developed by people working in different areas,
using both Simplified and Traditional Chinese. ”
● Requirements for Japanese Text Layout
● https://www.w3.org/TR/jlreq/
● “This document describes requirements for general Japanese layout
realized with technologies like CSS, SVG and XSL-FO. ”
● Requirements for Hangul Text Layout and Typography
● https://www.w3.org/TR/klreq/
● And other language
12. Vertical writing(1)
● Supported by Writer, Calc, Impress, Draw
● Vertical text box
● Note: Different from normal text box
● Right click on the toolbar – [Vertical Text]
Virtucal
textbox
縦
書
き
13. Vertical writing(2)
● Writer: [Page Style] setting can be set to vertical writing
● Menu [Format] – [Page...]
● [Page] tab
14. Phonetic guides (ruby)
● Writer: menu [Format]-
[Asian Phonetic guide]
● In Japanese, write how
to read in hiragana for
children's text
15. Line composition: example
● Line breaking rules ”禁則処理”Kinsokushori
● [Paragraph style]-[Japanese appearance] tab option
19. Alignment ignored when text grid: Bug #110994
● Invalid alignment setting
● Mark Hung created a patch
● 6.0 : FIXED
5.4 6.3
20. Vertical text in table formatted incorrectly:
Bug #111967
● There seems to be a
crash problem
● 6.0 : FIXED
21. Noto Sans CJK fonts exported bug: Bug #96091
● When exporting
Noto Sans CJK
font to PDF,
paragraph
decoration location
is wrong
● Mark Hung created
a patch
22. IVS using case bug#113481(1)
● Ideographic Variation
Sequence/Selector
In Japan, using a mechanism
called IVS to make it easier to
deal with a Kanji variant.
IVS is combine the characters,
as one of the character.
Variation
Sequence
Unicode character
23.
24. IVS using case bug#113481 (2)
● Deleting the character behind two same IVS characters
with Backspace will result in another character
● Mark Hung created a patch
● 6.1 : FIXED
● ->Demo
25.
26. Depends on CJK Meta issues
● Not all CJK bugs can be tracked
2017/10 2018/8 2019/8
Depends on:
(All)
135 169 184
Open 59 75 72
Close 76 94 112
27. Meta issue for CJK
●Bug 83066 : [META] CJK (Chinese, Japanese,
Korean, and Vietnamese) language issues
●Meta issue for each CJK language
● Bug 113193 : [META] Traditional Chinese (zh_TW, zh_HK)
● Bug 113194 : [META] Simplified Chinese (zh_CN)
● Bug 113195 : [META] Japanese CJK issues
● Bug 113196 : [META] Korean
28. Mark Hung is fixing some CJK issues
● Thanks Mark!
● Mark's keynote talk slide at LibreOffice Asia Conference
●“LibreOffice CJK Bugs, Fixes, and
Stories.”
●https://conf.libreoffice.jp/program.html
30. When changing the LibreOffice code
● New features or bug fixes may result in CJK bugs
● Regression bugs may be created
31. Occurs in certain environments
● Some cases occur only with the OS or other specific
environments
● If the environment changes, the product will need to fix
32. IVS bug#113481
● Developers need to understand the Unicode
specification
● This is complicated and not easy to understand
● Many products have the same risks
34. Current status of testing
● LibreOffice is not well tested for CJK bugs
● Many people do not report
● Language barrier is one of the causes
● -> Share bug information by language projects
● -> Sharing in the Q&A forum is effective, But how?
● General users of office suites are not used to OSS bug
reports
● Enabled to jump from menu to feedback web page
● We have documentation but i don't know if it's easy
enough
35. Bug reports
● Reports from some users and dedicated QA contributors
● Bug hunting session
● Released every 6 months
● There is a day for bug hunting 2-3 times before
release
● Usually for alpha, beta and release candidates
36. Manual testing
● Manual testing is not managed
● There were a few manual test cases, but they were
almost never used
● Currently all test cases moved to automated tests
37. Autometion test
● Not many automated tests
● LibreOffice project recommends writing unit tests for
developers
● There is also a way to kick and test the API
38. Possible approaches from QA(1)
● Create test cases from existing CJK bug reports
● I think this is effective because there are many
regressions
● Create test cases that cover similar types of bugs
● Testing costs are reduced by using automated tests
such as unit tests
● Create test cases from common CJK bugs of other
software
39. Possible approaches from QA(2)
● Perform risk analysis and create tests for high-risk CJK
functions
● But very few people are interested in QA...
40. Improved feedback loop
● Quality feedback from users is important
● Quick feedback on bug reports is also important
● The LibreOffice project has been working on reducing
unidentified bugs over the last few years
● TDF employs one person
● Bug triage is recommended
● What should we do as the next challenge...?
41. Improved feedback loop(2)
● It is also important for support vendors to receive
feedback from customers
● The project receive patches from support vendors
● It is important to strengthen the ecosystem
42. Conclusion
● Many CJK functions are implemented in LibreOffice
● CJK function is often broken
● It is important that people who understand CJK
languages test and report