Glibc Unicode and CLDRGlibc Unicode and CLDR
Pravin SatputePravin Satpute
Senior Software EngineerSenior Software Engineer
Globalization TeamGlobalization Team
Red HatRed Hat
AgendaAgenda
●
What was the problem?What was the problem?
●
Why so?Why so?
●
How we resolved issue?How we resolved issue?
● Analysis
● Development
●
Getting patch into upstreamGetting patch into upstream
●
Question and AnswersQuestion and Answers
What was the problem?What was the problem?
What was the problem?What was the problem?
● Updating Glibc localedata from Unicode 5.1 to
Unicode 7.0
● /usr/share/i18n/locales/i18n (LC_CTYPE)
● /usr/share/i18n/charmaps/UTF-8.gz
Why So?Why So?
What were the issues?What were the issues?
● No Documentation.
● Risk of missing backward compatibility.
● No expert.
How we resolved it?How we resolved it?
How we resolved it?How we resolved it?
AnalysisAnalysis
● Started gathering Changelog, Git logs for all changes
happened over the time. Specific fixes.
● Found hints, information written in Localedata files.
● Comments on Bugzilla
● Unicode source files providing raw information for Glibc
Localedata
● UnicodeData.txt
● DerivedCoreProperties.txt
● EastAsianWidth.txt
How we resolved it?How we resolved it?
Started with LC_CTYPE (i18n)Started with LC_CTYPE (i18n)
● Wrote script gen-unicode-ctype.py to update output
generated from gen-unicode-ctype.c
● Backward Compatiblity
● This script was comparing existing data with newly
generated and generating easy to understand report.
● Later Mike modify gen-unicode-ctype.py to deprecate
gen-unicode-ctype.c
● Repeated same process for UTF-8 charmap and WIDTH.
Patch prepared whatPatch prepared what
next?next?
Patch prepared what next?Patch prepared what next?
● Later Mike Fabian stepped into it.
● He reviewed scripts. Improved it.
● Glibc upstream further improved it.
● We proposed System wide change for Fedora 22
Patch prepared what next?Patch prepared what next?
● Patch got committed in upstream Feb last week.
● Collaborative work from Me, Mike Fabian,
Alexandre Oliva supported by Carlos and Jens
Petersen
● Users will get this update through Fedora 22 and
other upstream distros latest releases.
Questions??Questions??
ReferencesReferences
● https://github.com/pravins/glibc-i18n
● https://sourceware.org/bugzilla/show_bug.cgi?id=14094
● https://fedoraproject.org/wiki/Changes/Glibc_Unicode_7
● https://sourceware.org/git/?p=glibc.git;a=commit;h=4a4839c94a4c
93ffc0d5b95c69a08b02a57007f2

More Related Content

PDF
Swiftć‹‰ćŒ·äŒšçŹŹ1曞 〜Hello, Worldしどみよう〜
PDF
Looking back at 7 years of #devopsdays
ODP
Looking back at 7.5 years of Devopsdays , DOd PDX
PDF
Driving development in PHP
PDF
Greach 2017 - Javaslang & Groovy: The best of both worlds
PDF
VirtualJUG24 - Testing with Spock: The logical choice
PDF
JavaCro 2016 - Testing with Spock: The Logical choice
ODP
Looking back at 6.5 years of #devopsdays
Swiftć‹‰ćŒ·äŒšçŹŹ1曞 〜Hello, Worldしどみよう〜
Looking back at 7 years of #devopsdays
Looking back at 7.5 years of Devopsdays , DOd PDX
Driving development in PHP
Greach 2017 - Javaslang & Groovy: The best of both worlds
VirtualJUG24 - Testing with Spock: The logical choice
JavaCro 2016 - Testing with Spock: The Logical choice
Looking back at 6.5 years of #devopsdays

What's hot (19)

PDF
I Love APIs 2015: Getting **IT Done Workshop
PDF
Build great products
PDF
London Java Community 2016 - Testing with Spock: The logical choice
PDF
How to get your talk accepted at Devoxx UK
PPTX
What we can offer as Vappar
PDF
RigaDevDay 2016 - Testing with Spock: The Logical Choice
PDF
Pro Tools Tier 4 Music
PPTX
Git for .Net Developers
PDF
Using Go in DevOps
PPTX
Dead Zone (v1.1 in English for AgileEE 2013)
PPTX
Soil pollution activities
PDF
Mobile design system in Figma for Kiwi.com
PDF
2017 06 rajab_rulla_portfolio
PDF
Tales from the Workshops
PDF
Strategie di testing: Spring Boot loves Kotlin
PDF
iRail at hack democracy
PDF
Relay baton - Good example of one piece continous flow
PDF
plone.api
PDF
Gil - the responsible to unable paralellism
I Love APIs 2015: Getting **IT Done Workshop
Build great products
London Java Community 2016 - Testing with Spock: The logical choice
How to get your talk accepted at Devoxx UK
What we can offer as Vappar
RigaDevDay 2016 - Testing with Spock: The Logical Choice
Pro Tools Tier 4 Music
Git for .Net Developers
Using Go in DevOps
Dead Zone (v1.1 in English for AgileEE 2013)
Soil pollution activities
Mobile design system in Figma for Kiwi.com
2017 06 rajab_rulla_portfolio
Tales from the Workshops
Strategie di testing: Spring Boot loves Kotlin
iRail at hack democracy
Relay baton - Good example of one piece continous flow
plone.api
Gil - the responsible to unable paralellism
Ad

Similar to Pravin s glibc-unicode_and_cldr (20)

PDF
Continuous Deployment Applied at MyHeritage
ODP
Nightmare on Docker street
ODP
Advanced Video Production with FOSS
PDF
Continuous Infrastructure First
PPTX
Polar talks: code generation
PDF
Open Source Monitoring in 2019
PDF
My talk at Linux Piter 2015
PDF
Build your own low latency live platform
ODP
Linux Sucks
ODP
Linux Sucks
PDF
Write in Go
PDF
Continuous Infrastructure First Ignite Edition
PDF
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaert
ODP
Devopsdays Amsterdam 2017 Keynote, looking back at 5 years of AMS
PPTX
Ouroboros and Go (Buidler Fest 2024).pptx
ODP
Extreme Programming
PDF
SFScon18 - Gerhard Sulzberger - Jason Tevnan - gitops with gitlab + terraform
PDF
Get your FLOSS problems solved
PDF
Container Patching: Cloud Native Security Con 2023
PDF
Passing the Joel Test in the PHP World (phpbnl10)
Continuous Deployment Applied at MyHeritage
Nightmare on Docker street
Advanced Video Production with FOSS
Continuous Infrastructure First
Polar talks: code generation
Open Source Monitoring in 2019
My talk at Linux Piter 2015
Build your own low latency live platform
Linux Sucks
Linux Sucks
Write in Go
Continuous Infrastructure First Ignite Edition
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaert
Devopsdays Amsterdam 2017 Keynote, looking back at 5 years of AMS
Ouroboros and Go (Buidler Fest 2024).pptx
Extreme Programming
SFScon18 - Gerhard Sulzberger - Jason Tevnan - gitops with gitlab + terraform
Get your FLOSS problems solved
Container Patching: Cloud Native Security Con 2023
Passing the Joel Test in the PHP World (phpbnl10)
Ad

More from Pravin Satpute (12)

PDF
Fedora 29 features
PDF
Fedora 28 changes
PDF
Flock 2017-g11n
PDF
Globalization autdi for Fedora Atomic
PDF
Development activities - Fedora globalization DevConf CZ 2016
PDF
Fedora globalization - Road ahead
PDF
Fedora Globalization status and discussion
PDF
How to-contribute
PDF
Basics of-foss-fedora-introduction
PDF
Introduction to Fedora project and Fedora.Next
PDF
Lohit2 : Project to create reusable OpenType tables for complex script fonts
PDF
Why globalization? World wide picture
Fedora 29 features
Fedora 28 changes
Flock 2017-g11n
Globalization autdi for Fedora Atomic
Development activities - Fedora globalization DevConf CZ 2016
Fedora globalization - Road ahead
Fedora Globalization status and discussion
How to-contribute
Basics of-foss-fedora-introduction
Introduction to Fedora project and Fedora.Next
Lohit2 : Project to create reusable OpenType tables for complex script fonts
Why globalization? World wide picture

Recently uploaded (20)

PDF
UiPath Agentic Automation session 1: RPA to Agents
DOCX
search engine optimization ppt fir known well about this
PPTX
2018-HIPAA-Renewal-Training for executives
PDF
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
PPT
Geologic Time for studying geology for geologist
PDF
The influence of sentiment analysis in enhancing early warning system model f...
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
 
PDF
Developing a website for English-speaking practice to English as a foreign la...
PDF
Credit Without Borders: AI and Financial Inclusion in Bangladesh
PDF
Produktkatalog fĂŒr HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
PDF
Architecture types and enterprise applications.pdf
PDF
A proposed approach for plagiarism detection in Myanmar Unicode text
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PPTX
AI IN MARKETING- PRESENTED BY ANWAR KABIR 1st June 2025.pptx
PDF
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
PDF
Abstractive summarization using multilingual text-to-text transfer transforme...
PPTX
Benefits of Physical activity for teenagers.pptx
PPT
Module 1.ppt Iot fundamentals and Architecture
PPTX
Modernising the Digital Integration Hub
PPTX
Custom Battery Pack Design Considerations for Performance and Safety
UiPath Agentic Automation session 1: RPA to Agents
search engine optimization ppt fir known well about this
2018-HIPAA-Renewal-Training for executives
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
Geologic Time for studying geology for geologist
The influence of sentiment analysis in enhancing early warning system model f...
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
 
Developing a website for English-speaking practice to English as a foreign la...
Credit Without Borders: AI and Financial Inclusion in Bangladesh
Produktkatalog fĂŒr HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
Architecture types and enterprise applications.pdf
A proposed approach for plagiarism detection in Myanmar Unicode text
A contest of sentiment analysis: k-nearest neighbor versus neural network
AI IN MARKETING- PRESENTED BY ANWAR KABIR 1st June 2025.pptx
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
Abstractive summarization using multilingual text-to-text transfer transforme...
Benefits of Physical activity for teenagers.pptx
Module 1.ppt Iot fundamentals and Architecture
Modernising the Digital Integration Hub
Custom Battery Pack Design Considerations for Performance and Safety

Pravin s glibc-unicode_and_cldr

  • 1. Glibc Unicode and CLDRGlibc Unicode and CLDR Pravin SatputePravin Satpute Senior Software EngineerSenior Software Engineer Globalization TeamGlobalization Team Red HatRed Hat
  • 2. AgendaAgenda ● What was the problem?What was the problem? ● Why so?Why so? ● How we resolved issue?How we resolved issue? ● Analysis ● Development ● Getting patch into upstreamGetting patch into upstream ● Question and AnswersQuestion and Answers
  • 3. What was the problem?What was the problem?
  • 4. What was the problem?What was the problem? ● Updating Glibc localedata from Unicode 5.1 to Unicode 7.0 ● /usr/share/i18n/locales/i18n (LC_CTYPE) ● /usr/share/i18n/charmaps/UTF-8.gz
  • 6. What were the issues?What were the issues? ● No Documentation. ● Risk of missing backward compatibility. ● No expert.
  • 7. How we resolved it?How we resolved it?
  • 8. How we resolved it?How we resolved it? AnalysisAnalysis ● Started gathering Changelog, Git logs for all changes happened over the time. Specific fixes. ● Found hints, information written in Localedata files. ● Comments on Bugzilla ● Unicode source files providing raw information for Glibc Localedata ● UnicodeData.txt ● DerivedCoreProperties.txt ● EastAsianWidth.txt
  • 9. How we resolved it?How we resolved it? Started with LC_CTYPE (i18n)Started with LC_CTYPE (i18n) ● Wrote script gen-unicode-ctype.py to update output generated from gen-unicode-ctype.c ● Backward Compatiblity ● This script was comparing existing data with newly generated and generating easy to understand report. ● Later Mike modify gen-unicode-ctype.py to deprecate gen-unicode-ctype.c ● Repeated same process for UTF-8 charmap and WIDTH.
  • 10. Patch prepared whatPatch prepared what next?next?
  • 11. Patch prepared what next?Patch prepared what next? ● Later Mike Fabian stepped into it. ● He reviewed scripts. Improved it. ● Glibc upstream further improved it. ● We proposed System wide change for Fedora 22
  • 12. Patch prepared what next?Patch prepared what next? ● Patch got committed in upstream Feb last week. ● Collaborative work from Me, Mike Fabian, Alexandre Oliva supported by Carlos and Jens Petersen ● Users will get this update through Fedora 22 and other upstream distros latest releases.
  • 14. ReferencesReferences ● https://github.com/pravins/glibc-i18n ● https://sourceware.org/bugzilla/show_bug.cgi?id=14094 ● https://fedoraproject.org/wiki/Changes/Glibc_Unicode_7 ● https://sourceware.org/git/?p=glibc.git;a=commit;h=4a4839c94a4c 93ffc0d5b95c69a08b02a57007f2