PhysicalFontFamily::FindFontFamilyByAttributes() appears to give a weight for typewriter attributes that is too low. According to the comment in the source, the weighting should be: // Calculate Match Value // 1000000000 // 100000000 // 10000000 CJK, CTL, None-Latin, Symbol // 1000000 FamilyName, Script, Fixed, -Special, -Decorative, // Titling, Capitals, Outline, Shadow // 100000 Match FamilyName, Serif, SansSerif, Italic, // Width, Weight // 10000 Scalable, Standard, Default, // full, Normal, Knownfont, // Otherstyle, +Special, +Decorative, // 1000 Typewriter, Rounded, Gothic, Schollbook // 100 The code starting at line 606 of PhysicalFontCollection.cxx, however, shows that the calculation is off by a factor of 200: 609 // test MONOSPACE+TYPEWRITER attributes 610 if( nSearchType & ImplFontAttrs::Fixed ) 611 { 612 if( nMatchType & ImplFontAttrs::Fixed ) 613 nTestMatch += 1000000*2; 614 // a typewriter attribute is even better 615 if( ImplFontAttrs::None == ((nSearchType ^ nMatchType) & ImplFontAttrs::Typewriter) ) 616 nTestMatch += 10000*2; 617 } However, I believe that if the font has the type ImplFontAttrs::Typewriter, then it is just like ImplFontAttrs::Fixed and should have an additional weight of at least 1_000_000, and due to the extra weight this is being given it should be 2_000_000. I've literally dug into the source history like an archeologist, and this looks like a regressions from a long, long while ago... This code was originally in vcl/source/gdi/outdev3.cxx, and on 2001-06-29 (!!) in commit 925806de64f97d3b11a552143d3dbd42648f64cc it looks strongly like the weighting was typed in wrongly... Link to commit in cgit: http://cgit.freedesktop.org/libreoffice/core/commit/vcl/source/gdi/outdev3.cxx?id=925806de64f97d3b11a552143d3dbd42648f64cc Anyone able to confirm if this behaviour is off? This is *very* obscure if it is a bug, hence I've marked this as minor.
Argh! Misreading that code! *Typewriter* is meant to have a weight 1_000, not 10_000 like it shows in that snippet. All that effort reading the code, and I went home and misremembered the issue I saw. I'm going to fix this when I get home from hospital. It's a definite mistake.
Adding keyword 'bibisectRequest' to see whether this regression is already present in the oldest build of bibisect-43all repository or not. In case it's already present, change 'bibisectRequest' to 'preBibisect'. Otherwise, change 'bibisectRequest' to 'bibisected' and add a comment with the output from 'git bisect log'
** Please read this message in its entirety before responding ** To make sure we're focusing on the bugs that affect our users today, LibreOffice QA is asking bug reporters and confirmers to retest open, confirmed bugs which have not been touched for over a year. There have been thousands of bug fixes and commits since anyone checked on this bug report. During that time, it's possible that the bug has been fixed, or the details of the problem have changed. We'd really appreciate your help in getting confirmation that the bug is still present. If you have time, please do the following: Test to see if the bug is still present on a currently supported version of LibreOffice (5.4.1 or 5.3.6 https://www.libreoffice.org/download/ If the bug is present, please leave a comment that includes the version of LibreOffice and your operating system, and any changes you see in the bug behavior If the bug is NOT present, please set the bug's Status field to RESOLVED-WORKSFORME and leave a short comment that includes your version of LibreOffice and Operating System Please DO NOT Update the version field Reply via email (please reply directly on the bug tracker) Set the bug's Status field to RESOLVED - FIXED (this status has a particular meaning that is not appropriate in this case) If you want to do more to help you can test to see if your issue is a REGRESSION. To do so: 1. Download and install oldest version of LibreOffice (usually 3.3 unless your bug pertains to a feature added after 3.3) http://downloadarchive.documentfoundation.org/libreoffice/old/ 2. Test your bug 3. Leave a comment with your results. 4a. If the bug was present with 3.3 - set version to "inherited from OOo"; 4b. If the bug was not present in 3.3 - add "regression" to keyword Feel free to come ask questions or to say hello in our QA chat: http://webchat.freenode.net/?channels=libreoffice-qa Thank you for helping us make LibreOffice even better for everyone! Warm Regards, QA Team MassPing-UntouchedBug-20170929
Version is 3.3 so bibisectRequest does not make sense.
it can't be a regression if it's inherit from OOo
Dear Chris Sherlock, To make sure we're focusing on the bugs that affect our users today, LibreOffice QA is asking bug reporters and confirmers to retest open, confirmed bugs which have not been touched for over a year. There have been thousands of bug fixes and commits since anyone checked on this bug report. During that time, it's possible that the bug has been fixed, or the details of the problem have changed. We'd really appreciate your help in getting confirmation that the bug is still present. If you have time, please do the following: Test to see if the bug is still present with the latest version of LibreOffice from https://www.libreoffice.org/download/ If the bug is present, please leave a comment that includes the information from Help - About LibreOffice. If the bug is NOT present, please set the bug's Status field to RESOLVED-WORKSFORME and leave a comment that includes the information from Help - About LibreOffice. Please DO NOT Update the version field Reply via email (please reply directly on the bug tracker) Set the bug's Status field to RESOLVED - FIXED (this status has a particular meaning that is not appropriate in this case) If you want to do more to help you can test to see if your issue is a REGRESSION. To do so: 1. Download and install oldest version of LibreOffice (usually 3.3 unless your bug pertains to a feature added after 3.3) from https://downloadarchive.documentfoundation.org/libreoffice/old/ 2. Test your bug 3. Leave a comment with your results. 4a. If the bug was present with 3.3 - set version to 'inherited from OOo'; 4b. If the bug was not present in 3.3 - add 'regression' to keyword Feel free to come ask questions or to say hello in our QA chat: https://kiwiirc.com/nextclient/irc.freenode.net/#libreoffice-qa Thank you for helping us make LibreOffice even better for everyone! Warm Regards, QA Team MassPing-UntouchedBug
Pleas close as WONTFIX. I have since delved into the code (yes, I realise this has taken 6 years) and found this is not an issue. However, I did find some other bugs tangential to this one that I am working on.
Sorry, please make it closed as INVALID.