Bug 578042 - lang-specific overrides rule doesn't work as expected
lang-specific overrides rule doesn't work as expected
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: samyak-fonts (Show other bugs)
rawhide
All Linux
low Severity medium
: ---
: ---
Assigned To: Naveen Kumar
Fedora Extras Quality Assurance
:
Depends On: 578015
Blocks: F13Target 586846
  Show dependency treegraph
 
Reported: 2010-03-29 23:52 EDT by Akira TAGOH
Modified: 2010-05-27 14:30 EDT (History)
4 users (show)

See Also:
Fixed In Version: samyak-fonts-1.2.1-11.fc13
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 586846 (view as bug list)
Environment:
Last Closed: 2010-05-27 14:30:11 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)

  None (edit)
Description Akira TAGOH 2010-03-29 23:52:30 EDT
Description of problem:
All of detailed information is available on my post at the fonts list:
http://lists.fedoraproject.org/pipermail/fonts/2010-March/001117.html

binding="same" in the fontconfig config file prevents to apply the rule for the
specific
language only properly. As a result, fonts is used for non-targetted languages
and it may gives different look and feel in some cases.

I'd propose to get rid of binding="same" from:
 67-samyak-devanagari.conf
 67-samyak-gujarati.conf
 68-samyak-malayalam.conf
 67-samyak-oriya.conf
 67-samyak-tamil.conf
Comment 1 Fedora Update System 2010-03-30 05:59:11 EDT
samyak-fonts-1.2.1-11.fc13 has been submitted as an update for Fedora 13.
http://admin.fedoraproject.org/updates/samyak-fonts-1.2.1-11.fc13
Comment 2 Fedora Update System 2010-04-01 15:30:17 EDT
samyak-fonts-1.2.1-11.fc13 has been pushed to the Fedora 13 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update samyak-fonts'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/samyak-fonts-1.2.1-11.fc13
Comment 3 Akira TAGOH 2010-04-23 03:33:25 EDT
# rpm -qa samyak-*
samyak-tamil-fonts-1.2.1-11.fc13.noarch
samyak-devanagari-fonts-1.2.1-11.fc13.noarch
samyak-fonts-common-1.2.1-11.fc13.noarch
samyak-oriya-fonts-1.2.1-11.fc13.noarch
samyak-gujarati-fonts-1.2.1-11.fc13.noarch
samyak-malayalam-fonts-1.2.1-11.fc13.noarch
# fc-match monospace:lang=en
DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"
# fc-match monospace:lang=en-us
DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"
# fc-match monospace:lang=brx
DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"
# fc-match monospace:lang=doi
DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"
# fc-match monospace:lang=hi
Lohit-Devanagari.ttf: "Lohit Devanagari" "Regular"
# fc-match monospace:lang=hi-in
Lohit-Devanagari.ttf: "Lohit Devanagari" "Regular"
# fc-match monospace:lang=kok
Lohit-Devanagari.ttf: "Lohit Devanagari" "Regular"
# fc-match monospace:lang=kok-in
Lohit-Devanagari.ttf: "Lohit Devanagari" "Regular"
# fc-match monospace:lang=ks
PakType_Naqsh.ttf: "PakType Naqsh" "Regular"
# fc-match monospace:lang=ks@devanagari
DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"
# fc-match monospace:lang=ks-in
PakType_Naqsh.ttf: "PakType Naqsh" "Regular"
# fc-match monospace:lang=ks-in@devanagari
PakType_Naqsh.ttf: "PakType Naqsh" "Regular"
# fc-match monospace:lang=mai
Lohit-Devanagari.ttf: "Lohit Devanagari" "Regular"
# fc-match monospace:lang=mai-in
Lohit-Devanagari.ttf: "Lohit Devanagari" "Regular"
# fc-match monospace:lang=mr
Lohit-Devanagari.ttf: "Lohit Devanagari" "Regular"
# fc-match monospace:lang=mr-in
Lohit-Devanagari.ttf: "Lohit Devanagari" "Regular"
# fc-match monospace:lang=ne
Lohit-Devanagari.ttf: "Lohit Devanagari" "Regular"
# fc-match monospace:lang=ne-np
Lohit-Devanagari.ttf: "Lohit Devanagari" "Regular"
# fc-match monospace:lang=sa
Lohit-Devanagari.ttf: "Lohit Devanagari" "Regular"
# fc-match monospace:lang=sa-in
Lohit-Devanagari.ttf: "Lohit Devanagari" "Regular"
# fc-match monospace:lang=sd
PakType_Naqsh.ttf: "PakType Naqsh" "Regular"
# fc-match monospace:lang=sd-in
PakType_Naqsh.ttf: "PakType Naqsh" "Regular"
# fc-match monospace:lang=sd-in@devanagari
PakType_Naqsh.ttf: "PakType Naqsh" "Regular"
# fc-match sans:lang=en
DejaVuSans.ttf: "DejaVu Sans" "Book"
# fc-match sans:lang=en-us
DejaVuSans.ttf: "DejaVu Sans" "Book"
# fc-match sans:lang=brx
DejaVuSans.ttf: "DejaVu Sans" "Book"
# fc-match sans:lang=doi
DejaVuSans.ttf: "DejaVu Sans" "Book"
# fc-match sans:lang=hi
Lohit-Devanagari.ttf: "Lohit Devanagari" "Regular"
# fc-match sans:lang=hi-in
Lohit-Devanagari.ttf: "Lohit Devanagari" "Regular"
# fc-match sans:lang=kok
Lohit-Devanagari.ttf: "Lohit Devanagari" "Regular"
# fc-match sans:lang=kok-in
Lohit-Devanagari.ttf: "Lohit Devanagari" "Regular"
# fc-match sans:lang=ks
PakType_Naqsh.ttf: "PakType Naqsh" "Regular"
# fc-match sans:lang=ks@devanagari
DejaVuSans.ttf: "DejaVu Sans" "Book"
# fc-match sans:lang=ks-in
PakType_Naqsh.ttf: "PakType Naqsh" "Regular"
# fc-match sans:lang=ks-in@devanagari
PakType_Naqsh.ttf: "PakType Naqsh" "Regular"
# fc-match sans:lang=mai
Lohit-Devanagari.ttf: "Lohit Devanagari" "Regular"
# fc-match sans:lang=mai-in
Lohit-Devanagari.ttf: "Lohit Devanagari" "Regular"
# fc-match sans:lang=mr
Lohit-Devanagari.ttf: "Lohit Devanagari" "Regular"
# fc-match sans:lang=mr-in
Lohit-Devanagari.ttf: "Lohit Devanagari" "Regular"
# fc-match sans:lang=ne
Lohit-Devanagari.ttf: "Lohit Devanagari" "Regular"
# fc-match sans:lang=ne-np
Lohit-Devanagari.ttf: "Lohit Devanagari" "Regular"
# fc-match sans:lang=sa
Lohit-Devanagari.ttf: "Lohit Devanagari" "Regular"
# fc-match sans:lang=sa-in
Lohit-Devanagari.ttf: "Lohit Devanagari" "Regular"
# fc-match sans:lang=sd
PakType_Naqsh.ttf: "PakType Naqsh" "Regular"
# fc-match sans:lang=sd-in
PakType_Naqsh.ttf: "PakType Naqsh" "Regular"
# fc-match sans:lang=sd-in@devanagari
PakType_Naqsh.ttf: "PakType Naqsh" "Regular"

No explicit rules for monospace and sans-serif in samyak-fonts.

# fc-match serif:lang=en
DejaVuSerif.ttf: "DejaVu Serif" "Book"
# fc-match serif:lang=en-us
DejaVuSerif.ttf: "DejaVu Serif" "Book"

That looks good.

# fc-match serif:lang=brx
DejaVuSerif.ttf: "DejaVu Serif" "Book"
# fc-match serif:lang=brx-in
DejaVuSerif.ttf: "DejaVu Serif" "Book"

Because fontconfig doesn't have the orth file for Bodo.

# fc-match serif:lang=doi
DejaVuSerif.ttf: "DejaVu Serif" "Book"
# fc-match serif:lang=doi-in
DejaVuSerif.ttf: "DejaVu Serif" "Book"

Same reason for the above. no orth file for Dogri.

# fc-match serif:lang=hi
Lohit-Devanagari.ttf: "Lohit Devanagari" "Regular"
# fc-match serif:lang=hi-in
Samyak-Devanagari.ttf: "Samyak Devanagari" "Regular"
# fc-match serif:lang=kok
Lohit-Devanagari.ttf: "Lohit Devanagari" "Regular"
# fc-match serif:lang=kok-in
Samyak-Devanagari.ttf: "Samyak Devanagari" "Regular"
# fc-match serif:lang=mai
Lohit-Devanagari.ttf: "Lohit Devanagari" "Regular"
# fc-match serif:lang=mai-in
Samyak-Devanagari.ttf: "Samyak Devanagari" "Regular"
# fc-match serif:lang=mr
Lohit-Devanagari.ttf: "Lohit Devanagari" "Regular"
# fc-match serif:lang=mr-in
Samyak-Devanagari.ttf: "Samyak Devanagari" "Regular"
# fc-match serif:lang=ne
Lohit-Devanagari.ttf: "Lohit Devanagari" "Regular"
# fc-match serif:lang=ne-np
Samyak-Devanagari.ttf: "Samyak Devanagari" "Regular"
# fc-match serif:lang=sa
Lohit-Devanagari.ttf: "Lohit Devanagari" "Regular"
# fc-match serif:lang=sa-in
Samyak-Devanagari.ttf: "Samyak Devanagari" "Regular"

ll v.s. ll-cc issue. if you want to give a priority to samyak-fonts, you can rename 67-samyak-devanagari.conf to 65-0- and so on.

# fc-match serif:lang=ks
PakType_Naqsh.ttf: "PakType Naqsh" "Regular"
# fc-match serif:lang=ks@devanagari
DejaVuSerif.ttf: "DejaVu Serif" "Book"
# fc-match serif:lang=ks-in
PakType_Naqsh.ttf: "PakType Naqsh" "Regular"
# fc-match serif:lang=ks-in@devanagari
PakType_Naqsh.ttf: "PakType Naqsh" "Regular"
# fc-match serif:lang=sd
PakType_Naqsh.ttf: "PakType Naqsh" "Regular"
# fc-match serif:lang=sd-in
PakType_Naqsh.ttf: "PakType Naqsh" "Regular"
# fc-match serif:lang=sd-in@devanagari
PakType_Naqsh.ttf: "PakType Naqsh" "Regular"

fontconfig doesn't take care of @scriptname so far. plus, paktype-fonts has a priority.

# for i in $(ls /usr/share/locale|grep -v -E "^(brx|doi|hi|kok|ks|ks@devanagari|mai|mr|ne|sa|sd)$"); do fc-match serif:lang=$i|grep "Samyak Devanagari"; [ $? = 0 ] && echo $i; done
#

That may be not reliable enough since other fonts is used in some cases. anyway overall of the testing result against this issue looks good.
Comment 4 Akira TAGOH 2010-04-23 04:03:34 EDT
Testing result for samyak-gujarati-fonts:
# fc-match monospace:lang=en
DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"
# fc-match monospace:lang=en-us
DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"
# fc-match monospace:lang=gu
Lohit-Gujarati.ttf: "Lohit Gujarati" "Regular"
# fc-match monospace:lang=gu-in
Lohit-Gujarati.ttf: "Lohit Gujarati" "Regular"
# fc-match sans:lang=en
DejaVuSans.ttf: "DejaVu Sans" "Book"
# fc-match sans:lang=en-us
DejaVuSans.ttf: "DejaVu Sans" "Book"
# fc-match sans:lang=gu
Lohit-Gujarati.ttf: "Lohit Gujarati" "Regular"
# fc-match sans:lang=gu-in
Lohit-Gujarati.ttf: "Lohit Gujarati" "Regular"
# fc-match serif:lang=en
DejaVuSerif.ttf: "DejaVu Serif" "Book"
# fc-match serif:lang=en-us
DejaVuSerif.ttf: "DejaVu Serif" "Book"
# fc-match serif:lang=gu
Lohit-Gujarati.ttf: "Lohit Gujarati" "Regular"
# fc-match serif:lang=gu-in
Lohit-Gujarati.ttf: "Lohit Gujarati" "Regular"

Without lohit-gujarati-fonts:
# fc-match monospace:lang=en
DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"
# fc-match monospace:lang=en-us
DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"
# fc-match monospace:lang=gu
DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"
# fc-match monospace:lang=gu-in
DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"
# fc-match sans:lang=en
DejaVuSans.ttf: "DejaVu Sans" "Book"
# fc-match sans:lang=en-us
DejaVuSans.ttf: "DejaVu Sans" "Book"
# fc-match sans:lang=gu
DejaVuSans.ttf: "DejaVu Sans" "Book"
# fc-match sans:lang=gu-in
DejaVuSans.ttf: "DejaVu Sans" "Book"
# fc-match serif:lang=en
DejaVuSerif.ttf: "DejaVu Serif" "Book"
# fc-match serif:lang=en-us
DejaVuSerif.ttf: "DejaVu Serif" "Book"
# fc-match serif:lang=gu
DejaVuSerif.ttf: "DejaVu Serif" "Book"
# fc-match serif:lang=gu-in
DejaVuSerif.ttf: "DejaVu Serif" "Book"

The fontconfig cache seems not updated properly. fc-cache /usr/share/fonts/samyak/samyak-gujarati didn't help. I had to run fc-cache -f /usr/share/fonts/samyak.

This may be a bug in fontconfig. or may be good to have a workaround in fontpackages to allow putting the font in subpackage under /usr/share/fonts/<fontname>.

Anyway, once getting the correct cache:
# fc-match monospace:lang=en
DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"
# fc-match monospace:lang=en-us
DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"
# fc-match monospace:lang=gu
Samyak-Gujarati.ttf: "Samyak Gujarati" "Regular"
# fc-match monospace:lang=gu-in
Samyak-Gujarati.ttf: "Samyak Gujarati" "Regular"
# fc-match sans:lang=en
DejaVuSans.ttf: "DejaVu Sans" "Book"
# fc-match sans:lang=en-us
DejaVuSans.ttf: "DejaVu Sans" "Book"
# fc-match sans:lang=gu
Samyak-Gujarati.ttf: "Samyak Gujarati" "Regular"
# fc-match sans:lang=gu-in
Samyak-Gujarati.ttf: "Samyak Gujarati" "Regular"
# fc-match serif:lang=en
DejaVuSerif.ttf: "DejaVu Serif" "Book"
# fc-match serif:lang=en-us
DejaVuSerif.ttf: "DejaVu Serif" "Book"
# fc-match serif:lang=gu
Samyak-Gujarati.ttf: "Samyak Gujarati" "Regular"
# fc-match serif:lang=gu-in
Samyak-Gujarati.ttf: "Samyak Gujarati" "Regular"
# for i in $(ls /usr/share/locale|grep -v -E "^(gu)$"); do fc-match serif:lang=$i|grep "Samyak Gujarati"; [ $? = 0 ] && echo $i; done

That looks good. so please note that if you want to give a priority to Samyak Gujarati, you need to rename 67-samyak-gujarati.conf to 65-0- to avoid 65-nonlatin.conf overrides.
Comment 5 Akira TAGOH 2010-04-23 04:22:09 EDT
Testing result for samyak-malayalam-fonts without smc-meera-fonts and lohit-malayalam-fonts:
# fc-match monospace:lang=en
DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"
# fc-match monospace:lang=en-us
DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"
# fc-match monospace:lang=ml
DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"
# fc-match monospace:lang=ml-in
DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"
# fc-match sans:lang=en
DejaVuSans.ttf: "DejaVu Sans" "Book"
# fc-match sans:lang=en-us
DejaVuSans.ttf: "DejaVu Sans" "Book"
# fc-match sans:lang=ml
DejaVuSans.ttf: "DejaVu Sans" "Book"
# fc-match sans:lang=ml-in
DejaVuSans.ttf: "DejaVu Sans" "Book"
# fc-match serif:lang=en
DejaVuSerif.ttf: "DejaVu Serif" "Book"
# fc-match serif:lang=en-us
DejaVuSerif.ttf: "DejaVu Serif" "Book"
# fc-match serif:lang=ml
DejaVuSerif.ttf: "DejaVu Serif" "Book"
# fc-match serif:lang=ml-in
DejaVuSerif.ttf: "DejaVu Serif" "Book"

samyak-malayalam-fonts seems not having certain glyph coverages against ml.orth.

# fc-match -v "Samyak Malayalam" | grep -E "[         ]lang"
        lang: (s)
Comment 6 Akira TAGOH 2010-04-23 04:26:07 EDT
Testing result for samyak-oriya-fonts without lohit-oriya-fonts:
# fc-match monospace:lang=en
DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"
# fc-match monospace:lang=en-us
DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"
# fc-match monospace:lang=or
DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"
# fc-match monospace:lang=or-in
DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"
# fc-match sans:lang=en
DejaVuSans.ttf: "DejaVu Sans" "Book"
# fc-match sans:lang=en-us
DejaVuSans.ttf: "DejaVu Sans" "Book"
# fc-match sans:lang=or
DejaVuSans.ttf: "DejaVu Sans" "Book"
# fc-match sans:lang=or-in
DejaVuSans.ttf: "DejaVu Sans" "Book"
# fc-match serif:lang=en
DejaVuSerif.ttf: "DejaVu Serif" "Book"
# fc-match serif:lang=en-us
DejaVuSerif.ttf: "DejaVu Serif" "Book"
# fc-match serif:lang=or
DejaVuSerif.ttf: "DejaVu Serif" "Book"
# fc-match serif:lang=or-in
DejaVuSerif.ttf: "DejaVu Serif" "Book"

samyak-oriya-fonts seems not having certain glyph coverages against or.orth.

# fc-match -v "Samyak Oriya" | grep -E "[         ]lang"
        lang: (s)
Comment 7 Akira TAGOH 2010-04-23 04:28:53 EDT
Testing result for samyak-tamil-fonts without lohit-tamil-fonts:
# fc-match monospace:lang=en
DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"
# fc-match monospace:lang=en-us
DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"
# fc-match monospace:lang=ta
Samyak-Tamil.ttf: "Samyak Tamil" "Regular"
# fc-match monospace:lang=ta-in
Samyak-Tamil.ttf: "Samyak Tamil" "Regular"
# fc-match sans:lang=en
DejaVuSans.ttf: "DejaVu Sans" "Book"
# fc-match sans:lang=en-us
DejaVuSans.ttf: "DejaVu Sans" "Book"
# fc-match sans:lang=ta
Samyak-Tamil.ttf: "Samyak Tamil" "Regular"
# fc-match sans:lang=ta-in
Samyak-Tamil.ttf: "Samyak Tamil" "Regular"
# fc-match serif:lang=en
DejaVuSerif.ttf: "DejaVu Serif" "Book"
# fc-match serif:lang=en-us
DejaVuSerif.ttf: "DejaVu Serif" "Book"
# fc-match serif:lang=ta
Samyak-Tamil.ttf: "Samyak Tamil" "Regular"
# fc-match serif:lang=ta-in
Samyak-Tamil.ttf: "Samyak Tamil" "Regular"
# for i in $(ls /usr/share/locale|grep -v -E "^(ta)$"); do fc-match serif:lang=$i|grep "Samyak Tamil"; [ $? = 0 ] && echo $i; done
#

That looks good.
Comment 8 Fedora Update System 2010-05-27 14:30:06 EDT
samyak-fonts-1.2.1-11.fc13 has been pushed to the Fedora 13 stable repository.  If problems still persist, please make note of it in this bug report.

Note You need to log in before you can comment on or make changes to this bug.