SlideShare uma empresa Scribd logo
1 de 42
Baixar para ler offline
Shinji Enoki(shinji.enoki@gmail.com)
LibreOffice Japanese Team
in COSCUP 2019
2019-08-18 This work is licensed under a Creative Commons
Attribution-ShareAlike 4.0 Unported License.
State of CJK issues of LibreOffice 2019
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
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
Do you know the word “CJK issues”?
● Please raise your hand if you don't know...
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
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
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
2. Typical CJK functions of LibreOffice
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
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
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
縦
書
き
Vertical writing(2)
● Writer: [Page Style] setting can be set to vertical writing
● Menu [Format] – [Page...]
● [Page] tab
Phonetic guides (ruby)
● Writer: menu [Format]-
[Asian Phonetic guide]
● In Japanese, write how
to read in hiragana for
children's text
Line composition: example
● Line breaking rules ”禁則処理”Kinsokushori
● [Paragraph style]-[Japanese appearance] tab option
line adjustment by hanging
punctuation
https://www.w3.org/TR/jlreq/ja/
External Character (異体字)& Kanji variants
● Kanji variant is a Kanji
character with the same
meaning but by different
shape.
崎 﨑 埼
碕 嵜
3. Typical CJK issues
Alignment ignored when text grid: Bug #110994
● Invalid alignment setting
● Mark Hung created a patch
● 6.0 : FIXED
5.4 6.3
Vertical text in table formatted incorrectly:
Bug #111967
● There seems to be a
crash problem
● 6.0 : FIXED
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
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
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
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
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
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
4. Background of the issues
When changing the LibreOffice code
● New features or bug fixes may result in CJK bugs
● Regression bugs may be created
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
IVS bug#113481
● Developers need to understand the Unicode
specification
● This is complicated and not easy to understand
● Many products have the same risks
5. How to test for the CJK issues
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
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
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
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
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
Possible approaches from QA(2)
● Perform risk analysis and create tests for high-risk CJK
functions
● But very few people are interested in QA...
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...?
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
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

Mais conteúdo relacionado

Semelhante a State of CJK issues of LibreOffice 2019

Improve features about our language: CJK issues of LibreOffice in 2022
Improve features about our language: CJK issues of LibreOffice in 2022Improve features about our language: CJK issues of LibreOffice in 2022
Improve features about our language: CJK issues of LibreOffice in 2022Shinji Enoki
 
Status of CJK language support in LibreOffice 2023.pdf
Status of CJK language support in LibreOffice 2023.pdfStatus of CJK language support in LibreOffice 2023.pdf
Status of CJK language support in LibreOffice 2023.pdfShinji Enoki
 
State of CJK issues of LibreOffice (LibreOffice miniconf)
State of CJK issues of LibreOffice (LibreOffice miniconf)State of CJK issues of LibreOffice (LibreOffice miniconf)
State of CJK issues of LibreOffice (LibreOffice miniconf)Shinji Enoki
 
State of CJK issues of LibreOffice 2022 edition
State of CJK issues of LibreOffice 2022 editionState of CJK issues of LibreOffice 2022 edition
State of CJK issues of LibreOffice 2022 editionShinji Enoki
 
Building LibreOffice Korean Community and CJK common & different issues
Building LibreOffice Korean Community and CJK common & different issuesBuilding LibreOffice Korean Community and CJK common & different issues
Building LibreOffice Korean Community and CJK common & different issuesDaeHyun Sung
 
Adopting language server for apache camel feedback from a java/Eclipse plugi...
Adopting language server for apache camel  feedback from a java/Eclipse plugi...Adopting language server for apache camel  feedback from a java/Eclipse plugi...
Adopting language server for apache camel feedback from a java/Eclipse plugi...Aurélien Pupier
 
The Ring programming language version 1.7 book - Part 6 of 196
The Ring programming language version 1.7 book - Part 6 of 196The Ring programming language version 1.7 book - Part 6 of 196
The Ring programming language version 1.7 book - Part 6 of 196Mahmoud Samir Fayed
 
JANOG Update
JANOG UpdateJANOG Update
JANOG UpdateAPNIC
 
APRICOT2016 JANOG Update 2016
APRICOT2016 JANOG Update 2016APRICOT2016 JANOG Update 2016
APRICOT2016 JANOG Update 2016Chika Yoshimura
 
Libreoffice conference: Successful stories: Migrating Libreoffice in Taiwan
Libreoffice conference: Successful stories: Migrating Libreoffice in TaiwanLibreoffice conference: Successful stories: Migrating Libreoffice in Taiwan
Libreoffice conference: Successful stories: Migrating Libreoffice in Taiwanfweng322
 
One language to rule them all type script
One language to rule them all type scriptOne language to rule them all type script
One language to rule them all type scriptGil Fink
 
The Ring programming language version 1.5.2 book - Part 5 of 181
The Ring programming language version 1.5.2 book - Part 5 of 181The Ring programming language version 1.5.2 book - Part 5 of 181
The Ring programming language version 1.5.2 book - Part 5 of 181Mahmoud Samir Fayed
 
The Ring programming language version 1.4 book - Part 2 of 30
The Ring programming language version 1.4 book - Part 2 of 30The Ring programming language version 1.4 book - Part 2 of 30
The Ring programming language version 1.4 book - Part 2 of 30Mahmoud Samir Fayed
 
JANOG update by Seiichi Kawamura [APRICOT 2015]
JANOG update by Seiichi Kawamura [APRICOT 2015]JANOG update by Seiichi Kawamura [APRICOT 2015]
JANOG update by Seiichi Kawamura [APRICOT 2015]APNIC
 
The Ring programming language version 1.9 book - Part 6 of 210
The Ring programming language version 1.9 book - Part 6 of 210The Ring programming language version 1.9 book - Part 6 of 210
The Ring programming language version 1.9 book - Part 6 of 210Mahmoud Samir Fayed
 
The Ring programming language version 1.8 book - Part 6 of 202
The Ring programming language version 1.8 book - Part 6 of 202The Ring programming language version 1.8 book - Part 6 of 202
The Ring programming language version 1.8 book - Part 6 of 202Mahmoud Samir Fayed
 

Semelhante a State of CJK issues of LibreOffice 2019 (20)

Improve features about our language: CJK issues of LibreOffice in 2022
Improve features about our language: CJK issues of LibreOffice in 2022Improve features about our language: CJK issues of LibreOffice in 2022
Improve features about our language: CJK issues of LibreOffice in 2022
 
Status of CJK language support in LibreOffice 2023.pdf
Status of CJK language support in LibreOffice 2023.pdfStatus of CJK language support in LibreOffice 2023.pdf
Status of CJK language support in LibreOffice 2023.pdf
 
State of CJK issues of LibreOffice (LibreOffice miniconf)
State of CJK issues of LibreOffice (LibreOffice miniconf)State of CJK issues of LibreOffice (LibreOffice miniconf)
State of CJK issues of LibreOffice (LibreOffice miniconf)
 
State of CJK issues of LibreOffice 2022 edition
State of CJK issues of LibreOffice 2022 editionState of CJK issues of LibreOffice 2022 edition
State of CJK issues of LibreOffice 2022 edition
 
Building LibreOffice Korean Community and CJK common & different issues
Building LibreOffice Korean Community and CJK common & different issuesBuilding LibreOffice Korean Community and CJK common & different issues
Building LibreOffice Korean Community and CJK common & different issues
 
Adopting language server for apache camel feedback from a java/Eclipse plugi...
Adopting language server for apache camel  feedback from a java/Eclipse plugi...Adopting language server for apache camel  feedback from a java/Eclipse plugi...
Adopting language server for apache camel feedback from a java/Eclipse plugi...
 
The Ring programming language version 1.7 book - Part 6 of 196
The Ring programming language version 1.7 book - Part 6 of 196The Ring programming language version 1.7 book - Part 6 of 196
The Ring programming language version 1.7 book - Part 6 of 196
 
Internship final presentation Mohamed
Internship final presentation MohamedInternship final presentation Mohamed
Internship final presentation Mohamed
 
JANOG Update
JANOG UpdateJANOG Update
JANOG Update
 
Debugging 2013- Lars pedersen
Debugging 2013- Lars pedersenDebugging 2013- Lars pedersen
Debugging 2013- Lars pedersen
 
APRICOT2016 JANOG Update 2016
APRICOT2016 JANOG Update 2016APRICOT2016 JANOG Update 2016
APRICOT2016 JANOG Update 2016
 
Presentation-1.pptx
Presentation-1.pptxPresentation-1.pptx
Presentation-1.pptx
 
Libreoffice conference: Successful stories: Migrating Libreoffice in Taiwan
Libreoffice conference: Successful stories: Migrating Libreoffice in TaiwanLibreoffice conference: Successful stories: Migrating Libreoffice in Taiwan
Libreoffice conference: Successful stories: Migrating Libreoffice in Taiwan
 
One language to rule them all type script
One language to rule them all type scriptOne language to rule them all type script
One language to rule them all type script
 
Chapter 1 java
Chapter 1 javaChapter 1 java
Chapter 1 java
 
The Ring programming language version 1.5.2 book - Part 5 of 181
The Ring programming language version 1.5.2 book - Part 5 of 181The Ring programming language version 1.5.2 book - Part 5 of 181
The Ring programming language version 1.5.2 book - Part 5 of 181
 
The Ring programming language version 1.4 book - Part 2 of 30
The Ring programming language version 1.4 book - Part 2 of 30The Ring programming language version 1.4 book - Part 2 of 30
The Ring programming language version 1.4 book - Part 2 of 30
 
JANOG update by Seiichi Kawamura [APRICOT 2015]
JANOG update by Seiichi Kawamura [APRICOT 2015]JANOG update by Seiichi Kawamura [APRICOT 2015]
JANOG update by Seiichi Kawamura [APRICOT 2015]
 
The Ring programming language version 1.9 book - Part 6 of 210
The Ring programming language version 1.9 book - Part 6 of 210The Ring programming language version 1.9 book - Part 6 of 210
The Ring programming language version 1.9 book - Part 6 of 210
 
The Ring programming language version 1.8 book - Part 6 of 202
The Ring programming language version 1.8 book - Part 6 of 202The Ring programming language version 1.8 book - Part 6 of 202
The Ring programming language version 1.8 book - Part 6 of 202
 

Mais de Shinji Enoki

この1年のLibreOfficeの状況を振り返る(2023年)
この1年のLibreOfficeの状況を振り返る(2023年)この1年のLibreOfficeの状況を振り返る(2023年)
この1年のLibreOfficeの状況を振り返る(2023年)Shinji Enoki
 
海外(ミラノ、ベルリン)での国際カンファレンスに参加して -LibreOffice/Nextcloud/Collabora Onlineの場合-
海外(ミラノ、ベルリン)での国際カンファレンスに参加して -LibreOffice/Nextcloud/Collabora Onlineの場合-海外(ミラノ、ベルリン)での国際カンファレンスに参加して -LibreOffice/Nextcloud/Collabora Onlineの場合-
海外(ミラノ、ベルリン)での国際カンファレンスに参加して -LibreOffice/Nextcloud/Collabora Onlineの場合-Shinji Enoki
 
LibreOffice Conference 2022 (ミラノ)参加報告
LibreOffice Conference 2022 (ミラノ)参加報告LibreOffice Conference 2022 (ミラノ)参加報告
LibreOffice Conference 2022 (ミラノ)参加報告Shinji Enoki
 
Wikimania 2022 / SotM 2022参加報告
Wikimania 2022 / SotM 2022参加報告Wikimania 2022 / SotM 2022参加報告
Wikimania 2022 / SotM 2022参加報告Shinji Enoki
 
この1年のLibreOfficeの状況を振り返る(LibreOffice Kaigi 2022)
この1年のLibreOfficeの状況を振り返る(LibreOffice Kaigi 2022)この1年のLibreOfficeの状況を振り返る(LibreOffice Kaigi 2022)
この1年のLibreOfficeの状況を振り返る(LibreOffice Kaigi 2022)Shinji Enoki
 
How to use online office suites and data storage to protect your privacy
How to use online office suites and data storage  to protect your privacyHow to use online office suites and data storage  to protect your privacy
How to use online office suites and data storage to protect your privacyShinji Enoki
 
LibreOffice 7.3リリースと最近のトピック + 個人的に遭遇したDebianのバグ
LibreOffice 7.3リリースと最近のトピック + 個人的に遭遇したDebianのバグLibreOffice 7.3リリースと最近のトピック + 個人的に遭遇したDebianのバグ
LibreOffice 7.3リリースと最近のトピック + 個人的に遭遇したDebianのバグShinji Enoki
 
LibreOfficeに関する近頃の5つの話題 in OSC 2022 Online Osaka
LibreOfficeに関する近頃の5つの話題 in OSC 2022 Online OsakaLibreOfficeに関する近頃の5つの話題 in OSC 2022 Online Osaka
LibreOfficeに関する近頃の5つの話題 in OSC 2022 Online OsakaShinji Enoki
 
クラウドコラボレーションサーバ 「Collabora Online」で共同編集してみた
クラウドコラボレーションサーバ 「Collabora Online」で共同編集してみたクラウドコラボレーションサーバ 「Collabora Online」で共同編集してみた
クラウドコラボレーションサーバ 「Collabora Online」で共同編集してみたShinji Enoki
 
LibreOffice Conference 2021の概要、見どころ、参加方法の紹介
LibreOffice Conference 2021の概要、見どころ、参加方法の紹介LibreOffice Conference 2021の概要、見どころ、参加方法の紹介
LibreOffice Conference 2021の概要、見どころ、参加方法の紹介Shinji Enoki
 
クラウドコラボレーションサーバ「Collabora Online」を構築してみた
クラウドコラボレーションサーバ「Collabora Online」を構築してみたクラウドコラボレーションサーバ「Collabora Online」を構築してみた
クラウドコラボレーションサーバ「Collabora Online」を構築してみたShinji Enoki
 
LibreOfficeオンライン版やモバイル版/デスクトップ版、コミュニティの動向について-LibreOffice Virtual Conferenc...
  LibreOfficeオンライン版やモバイル版/デスクトップ版、コミュニティの動向について-LibreOffice Virtual Conferenc...  LibreOfficeオンライン版やモバイル版/デスクトップ版、コミュニティの動向について-LibreOffice Virtual Conferenc...
LibreOfficeオンライン版やモバイル版/デスクトップ版、コミュニティの動向について-LibreOffice Virtual Conferenc...Shinji Enoki
 
LibreOfficeの10年振り返りとこれから
LibreOfficeの10年振り返りとこれからLibreOfficeの10年振り返りとこれから
LibreOfficeの10年振り返りとこれからShinji Enoki
 
OpenDatathon activities in Japan
OpenDatathon activities in JapanOpenDatathon activities in Japan
OpenDatathon activities in JapanShinji Enoki
 
LibreOffice Impress で アウトラインやマスタースライドを使おう!
LibreOffice Impress で アウトラインやマスタースライドを使おう!LibreOffice Impress で アウトラインやマスタースライドを使おう!
LibreOffice Impress で アウトラインやマスタースライドを使おう!Shinji Enoki
 
LibreOffice コミュニティの取り組み: LibreOffice10 周年をむかえて
LibreOffice コミュニティの取り組み: LibreOffice10 周年をむかえてLibreOffice コミュニティの取り組み: LibreOffice10 周年をむかえて
LibreOffice コミュニティの取り組み: LibreOffice10 周年をむかえてShinji Enoki
 
LibreOffice Conference 2019 Almería参加報告(関西LibreOffice勉強会版)
LibreOffice Conference 2019 Almería参加報告(関西LibreOffice勉強会版)LibreOffice Conference 2019 Almería参加報告(関西LibreOffice勉強会版)
LibreOffice Conference 2019 Almería参加報告(関西LibreOffice勉強会版)Shinji Enoki
 
LibreOffice Conference 2019 Almería参加報告(KOF版)
LibreOffice Conference 2019 Almería参加報告(KOF版)LibreOffice Conference 2019 Almería参加報告(KOF版)
LibreOffice Conference 2019 Almería参加報告(KOF版)Shinji Enoki
 
Using Opens Document Format in Education
Using Opens Document Format in EducationUsing Opens Document Format in Education
Using Opens Document Format in EducationShinji Enoki
 
LibreOffice Asia Conference 2019 やってみたよ
LibreOffice Asia Conference 2019 やってみたよLibreOffice Asia Conference 2019 やってみたよ
LibreOffice Asia Conference 2019 やってみたよShinji Enoki
 

Mais de Shinji Enoki (20)

この1年のLibreOfficeの状況を振り返る(2023年)
この1年のLibreOfficeの状況を振り返る(2023年)この1年のLibreOfficeの状況を振り返る(2023年)
この1年のLibreOfficeの状況を振り返る(2023年)
 
海外(ミラノ、ベルリン)での国際カンファレンスに参加して -LibreOffice/Nextcloud/Collabora Onlineの場合-
海外(ミラノ、ベルリン)での国際カンファレンスに参加して -LibreOffice/Nextcloud/Collabora Onlineの場合-海外(ミラノ、ベルリン)での国際カンファレンスに参加して -LibreOffice/Nextcloud/Collabora Onlineの場合-
海外(ミラノ、ベルリン)での国際カンファレンスに参加して -LibreOffice/Nextcloud/Collabora Onlineの場合-
 
LibreOffice Conference 2022 (ミラノ)参加報告
LibreOffice Conference 2022 (ミラノ)参加報告LibreOffice Conference 2022 (ミラノ)参加報告
LibreOffice Conference 2022 (ミラノ)参加報告
 
Wikimania 2022 / SotM 2022参加報告
Wikimania 2022 / SotM 2022参加報告Wikimania 2022 / SotM 2022参加報告
Wikimania 2022 / SotM 2022参加報告
 
この1年のLibreOfficeの状況を振り返る(LibreOffice Kaigi 2022)
この1年のLibreOfficeの状況を振り返る(LibreOffice Kaigi 2022)この1年のLibreOfficeの状況を振り返る(LibreOffice Kaigi 2022)
この1年のLibreOfficeの状況を振り返る(LibreOffice Kaigi 2022)
 
How to use online office suites and data storage to protect your privacy
How to use online office suites and data storage  to protect your privacyHow to use online office suites and data storage  to protect your privacy
How to use online office suites and data storage to protect your privacy
 
LibreOffice 7.3リリースと最近のトピック + 個人的に遭遇したDebianのバグ
LibreOffice 7.3リリースと最近のトピック + 個人的に遭遇したDebianのバグLibreOffice 7.3リリースと最近のトピック + 個人的に遭遇したDebianのバグ
LibreOffice 7.3リリースと最近のトピック + 個人的に遭遇したDebianのバグ
 
LibreOfficeに関する近頃の5つの話題 in OSC 2022 Online Osaka
LibreOfficeに関する近頃の5つの話題 in OSC 2022 Online OsakaLibreOfficeに関する近頃の5つの話題 in OSC 2022 Online Osaka
LibreOfficeに関する近頃の5つの話題 in OSC 2022 Online Osaka
 
クラウドコラボレーションサーバ 「Collabora Online」で共同編集してみた
クラウドコラボレーションサーバ 「Collabora Online」で共同編集してみたクラウドコラボレーションサーバ 「Collabora Online」で共同編集してみた
クラウドコラボレーションサーバ 「Collabora Online」で共同編集してみた
 
LibreOffice Conference 2021の概要、見どころ、参加方法の紹介
LibreOffice Conference 2021の概要、見どころ、参加方法の紹介LibreOffice Conference 2021の概要、見どころ、参加方法の紹介
LibreOffice Conference 2021の概要、見どころ、参加方法の紹介
 
クラウドコラボレーションサーバ「Collabora Online」を構築してみた
クラウドコラボレーションサーバ「Collabora Online」を構築してみたクラウドコラボレーションサーバ「Collabora Online」を構築してみた
クラウドコラボレーションサーバ「Collabora Online」を構築してみた
 
LibreOfficeオンライン版やモバイル版/デスクトップ版、コミュニティの動向について-LibreOffice Virtual Conferenc...
  LibreOfficeオンライン版やモバイル版/デスクトップ版、コミュニティの動向について-LibreOffice Virtual Conferenc...  LibreOfficeオンライン版やモバイル版/デスクトップ版、コミュニティの動向について-LibreOffice Virtual Conferenc...
LibreOfficeオンライン版やモバイル版/デスクトップ版、コミュニティの動向について-LibreOffice Virtual Conferenc...
 
LibreOfficeの10年振り返りとこれから
LibreOfficeの10年振り返りとこれからLibreOfficeの10年振り返りとこれから
LibreOfficeの10年振り返りとこれから
 
OpenDatathon activities in Japan
OpenDatathon activities in JapanOpenDatathon activities in Japan
OpenDatathon activities in Japan
 
LibreOffice Impress で アウトラインやマスタースライドを使おう!
LibreOffice Impress で アウトラインやマスタースライドを使おう!LibreOffice Impress で アウトラインやマスタースライドを使おう!
LibreOffice Impress で アウトラインやマスタースライドを使おう!
 
LibreOffice コミュニティの取り組み: LibreOffice10 周年をむかえて
LibreOffice コミュニティの取り組み: LibreOffice10 周年をむかえてLibreOffice コミュニティの取り組み: LibreOffice10 周年をむかえて
LibreOffice コミュニティの取り組み: LibreOffice10 周年をむかえて
 
LibreOffice Conference 2019 Almería参加報告(関西LibreOffice勉強会版)
LibreOffice Conference 2019 Almería参加報告(関西LibreOffice勉強会版)LibreOffice Conference 2019 Almería参加報告(関西LibreOffice勉強会版)
LibreOffice Conference 2019 Almería参加報告(関西LibreOffice勉強会版)
 
LibreOffice Conference 2019 Almería参加報告(KOF版)
LibreOffice Conference 2019 Almería参加報告(KOF版)LibreOffice Conference 2019 Almería参加報告(KOF版)
LibreOffice Conference 2019 Almería参加報告(KOF版)
 
Using Opens Document Format in Education
Using Opens Document Format in EducationUsing Opens Document Format in Education
Using Opens Document Format in Education
 
LibreOffice Asia Conference 2019 やってみたよ
LibreOffice Asia Conference 2019 やってみたよLibreOffice Asia Conference 2019 やってみたよ
LibreOffice Asia Conference 2019 やってみたよ
 

Último

EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 

Último (20)

EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 

State of CJK issues of LibreOffice 2019

  • 1. Shinji Enoki(shinji.enoki@gmail.com) LibreOffice Japanese Team in COSCUP 2019 2019-08-18 This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 Unported License. State of CJK issues of LibreOffice 2019
  • 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
  • 9. 2. Typical CJK functions of LibreOffice
  • 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
  • 16. line adjustment by hanging punctuation https://www.w3.org/TR/jlreq/ja/
  • 17. External Character (異体字)& Kanji variants ● Kanji variant is a Kanji character with the same meaning but by different shape. 崎 﨑 埼 碕 嵜
  • 18. 3. Typical CJK issues
  • 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
  • 29. 4. Background of the issues
  • 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
  • 33. 5. How to test for the CJK issues
  • 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