summaryrefslogtreecommitdiffstats
path: root/app/gfx/font_skia.cc
Commit message (Collapse)AuthorAgeFilesLines
* Fixes bug where Chrome was not rendering fonts at the size it shouldsky@chromium.org2009-12-011-0/+1
| | | | | | | | | | | | have been. This was only apparent at DPIs other than the default, such as is typically seen on netbooks. BUG=none TEST=none Review URL: http://codereview.chromium.org/452031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33487 0039d316-1c4b-4281-b951-d872f2087c98
* Fix up extension badge text drawing.estade@chromium.org2009-10-301-1/+1
| | | | | | | | | | | | | | | Fall abck to the system default font if the preferred font isn't available. Also, only create the SkPaint struct once, not on every paint. Also, make some more things const. BUG=25693 TEST=badge still looks good, that crash goes away Review URL: http://codereview.chromium.org/341045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30631 0039d316-1c4b-4281-b951-d872f2087c98
* Got the about panel to have its text lined up correctly.davemoore@chromium.org2009-10-271-15/+73
| | | | | | | | Also added underline capability to linux fonts. Review URL: http://codereview.chromium.org/338029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30276 0039d316-1c4b-4281-b951-d872f2087c98
* Get the About panel to align its links correctly,davemoore@chromium.org2009-10-231-1/+0
| | | | | | | | but undo a previous change to the way we measure strings in pango. Review URL: http://codereview.chromium.org/338001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29943 0039d316-1c4b-4281-b951-d872f2087c98
* Plug a font leak.davemoore@chromium.org2009-10-191-1/+3
| | | | | | Review URL: http://codereview.chromium.org/293011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29462 0039d316-1c4b-4281-b951-d872f2087c98
* Do work necessary to make Views About panel work on Chrome OS. This is to be ↵davemoore@chromium.org2009-10-191-13/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | used for forcing Chrome OS updates. There were many things that needed to be fixed for this to work. Make skia's canvas return height of font for size of strings, instead of the actual height of the characters to bring it in line with Windows. Make average character widths use pango metrics and windows dialog units. Make this lazy, to avoid most calls. Fix bug in About panel that failed to adjust the embedded links to allow for the padding that Link adds so they can be focused. Support gtk about panel in regular build, views in chrome os only. Fix WindowGtk to call WindowClosing() Fix canvas_linux::SetupPangoLayout() to wrap correctly, if passed a width Fix Label::ComputeMultiLineFlags() to turn off eliding. With eliding the pango routines always return 1 line. Enable focus manager in dialogs. Version loader crashed in debug. Review URL: http://codereview.chromium.org/282002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29414 0039d316-1c4b-4281-b951-d872f2087c98
* Landing font change again. I don't believe early flakiness was thesky@chromium.org2009-10-011-13/+27
| | | | | | | | | | | | result of my change. test_shell doesn't use font at all. This is exactly the same change as was earlier landed. BUG=22791 TEST=see bug TBR=agl Review URL: http://codereview.chromium.org/242111 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27790 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting recent font change, it seems to be causing problems withsky@chromium.org2009-10-011-27/+13
| | | | | | | | | | | test_shell and valgrind ui. BUG=22791 TEST=none TBR=agl Review URL: http://codereview.chromium.org/251059 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27742 0039d316-1c4b-4281-b951-d872f2087c98
* Attempt 4 at fixing font size on linux. I think I finally gotsky@chromium.org2009-10-011-13/+27
| | | | | | | | | | | | | it. Pango scales all font sizes by a factor. Scaling the font size, then asking skia for the metrics gives us exactly the same sizes as Pango. WAHOO! BUG=22791 TEST=see bug Review URL: http://codereview.chromium.org/251054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27725 0039d316-1c4b-4281-b951-d872f2087c98
* Workaround for Issue 15949: cannot use the "WenQuanYi Bitmap Song" (chinese ↵yusukes@google.com2009-09-191-4/+23
| | | | | | | | | | | | | | | | Fonts) as the system fonts with chrome - Adding a font fallback code to Font::CreateFont() in font_skia.cc so that Chromium can startup even when a non-scalable font is selected as an application font. If the application font is non-scalable, Font::CreateFont() loads a _scalable_ "sans" font as a fallback. (Note: The function still never load non-scalable fonts.) - Removed a comment for issue 12530 since the issue has been fixed. BUG=12530 BUG=15949 TEST=Download the snap.pcf font from http://artwizaleczapka.sourceforge.net/ and put it to ~/.fonts/. Remove temporarily /etc/fonts/conf.d/70-no-bitmaps.conf and run "fc-cache -f". Start /ust/bin/gnome-appearance-properties and select "snap" as your application font. Then start chromium and verify that it does not crash (by the CHECK failure) on startup. Review URL: http://codereview.chromium.org/207009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26652 0039d316-1c4b-4281-b951-d872f2087c98
* Changes font_skia to use font bounding box rather thansky@chromium.org2009-09-171-5/+12
| | | | | | | | | | | | | ascent/descent. This gets us closer to sizes used by pango. It's not ideal, but as we can't switch to pango (startup hit), this is the best I can do. BUG=20823 TEST=see bug Review URL: http://codereview.chromium.org/211003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26509 0039d316-1c4b-4281-b951-d872f2087c98
* Reverts linux font change again. Slow down isn't as bad as before. Butsky@chromium.org2009-09-141-0/+160
| | | | | | | | | | | | still not ideal. BUG=none TEST=none TBR=agl Review URL: http://codereview.chromium.org/194105 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26141 0039d316-1c4b-4281-b951-d872f2087c98
* Attempt 2 at converting font from Skia to Pango. The slow down appears to be ↵sky@chromium.org2009-09-141-160/+0
| | | | | | | | | | | | entirely attributed to asking for the metrics. To get back the performance I did the following: . Only ask for the metrics when needed. We appear to create 6 or so fonts very early on without needing the metrics. This ensures we only take the metrics load hit when needed. . Keep a cache of the metrics around. This ensures that we only load the metrics once. I didn't dig through the Pango source to see why Pango is slow at getting metrics. I suspect it's the first person to ask for metrics incurs a penalty as Pango accesses the disk. The code we have now is the same as that as Gtk. Review URL: http://codereview.chromium.org/199101 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26116 0039d316-1c4b-4281-b951-d872f2087c98
* Reverts r26015. It caused a startup regression:(sky@chromium.org2009-09-111-0/+160
| | | | | | | | | | BUG=20823 TEST=none TBR=agl Review URL: http://codereview.chromium.org/203041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26030 0039d316-1c4b-4281-b951-d872f2087c98
* Nukes font_skia and converts font_gtk to use pango. This wassky@chromium.org2009-09-111-160/+0
| | | | | | | | | | | | | | | | | | | | | | necessitated by Pango and Skia differing on how the fonts are sized, resulting in lots of clipping in views. The only iffy part of this is I've made Font::nativeFont() win/mac only (it isn't used on Linux). I did this to avoid folks accidentally modifying the underlying font out from under Font. That said, I could certainly nuke GetPangoFontDescription in favor of nativeFont() and make it return the PangoFontDescription (not a copy). Let me know if you feel strongly about converting this. Assuming your ok with this, I'll watch the perf tests to make sure this doesn't impact startup. BUG=20823 TEST=none Review URL: http://codereview.chromium.org/195058 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26015 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Workaround Skia and Pango measuring font heights differently by ↵evan@chromium.org2009-09-031-24/+3
| | | | | | | | | asking Pango" This reverts commit r25131. It seems to have regressed Linux startup; will track perf builder after committing this to be sure. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25325 0039d316-1c4b-4281-b951-d872f2087c98
* Workaround Skia and Pango measuring font heights differently by asking Pangobrettw@chromium.org2009-09-021-3/+24
| | | | | | | | | | | | | | | | | | for the height that we'll report in the gfx::Font. This seems wrong, but at least things will look reasonable until we find a better solution. This changes the existing height computation code to use ceiling. Even though this is no longer used, it is good to have the correct code for the height computation here so that if we find a better solution, it will be run properly. This also gives more room for the clock in the status area view because the height is now more and we want it to be aligned properly. BUG=none TEST=none Review URL: http://codereview.chromium.org/183044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25131 0039d316-1c4b-4281-b951-d872f2087c98
* linux: simplify gfx::Font constructor logic and add CHECK()s.evan@chromium.org2009-05-281-1/+3
| | | | | | | | | | | | | | Trying to track down a bug that a user is seeing. The getter we were using to extract the value before was for a debugger-compatible string. Perhaps it was the quote-removal code that was getting us before; if not, these CHECKs will track it down. BUG=12530 Review URL: http://codereview.chromium.org/115877 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17118 0039d316-1c4b-4281-b951-d872f2087c98
* Unified the ways Font and Canvas get the pixel size of strings, using pangodavemoore@chromium.org2009-05-201-14/+5
| | | | | | Review URL: http://codereview.chromium.org/115586 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16535 0039d316-1c4b-4281-b951-d872f2087c98
* ChromeCanvas->gfx::Canvasben@chromium.org2009-05-151-0/+167
Rename files too. TBR=brettw http://crbug.com/11387 Review URL: http://codereview.chromium.org/113443 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16148 0039d316-1c4b-4281-b951-d872f2087c98