tree 0248007c225c26d2c4273c28f06d23185a43539b
parent 26ec00ea1b9f22d94e0ec9e4fa7a4ebda4c24be7
author reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> 1364318355 +0000
committer reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> 1364318355 +0000

impl part of SKFontMgr for mac

Here is some test code

    SkFontMgr* mgr = SkFontMgr::RefDefault();
    for (int i = 0; i < mgr->countFamilies(); ++i) {
        SkString familyName;
        mgr->getFamilyName(i, &familyName);
        SkDebugf("%s\n", familyName.c_str());
        SkFontStyleSet* styles = mgr->createStyleSet(i);
        for (int j = 0; j < styles->count(); ++j) {
            SkFontStyle fs;
            SkString styleName;
            styles->getStyle(j, &fs, &styleName);
            SkTypeface* face = styles->createTypeface(j);
            SkDebugf("    %s [%d %d] %x\n", styleName.c_str(), fs.weight(),
                     fs.width(), face);
        }
        styles->unref();
    }
    mgr->unref();
Review URL: https://codereview.chromium.org/13094005

git-svn-id: http://skia.googlecode.com/svn/trunk@8395 2bbb7eff-a529-9590-31e7-b0007b416f81
