Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(242)

Side by Side Diff: Source/platform/fonts/harfbuzz/HarfBuzzShaper.cpp

Issue 263363005: Initial patch for FontVariant, variant like HalfWidth should take Complex Path (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@emoji_android
Patch Set: Updating test case Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2012 Google Inc. All rights reserved. 2 * Copyright (c) 2012 Google Inc. All rights reserved.
3 * Copyright (C) 2013 BlackBerry Limited. All rights reserved. 3 * Copyright (C) 2013 BlackBerry Limited. All rights reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are 6 * modification, are permitted provided that the following conditions are
7 * met: 7 * met:
8 * 8 *
9 * * Redistributions of source code must retain the above copyright 9 * * Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
(...skipping 500 matching lines...) Expand 10 before | Expand all | Expand 10 after
511 case FontDescription::DisabledLigaturesState: 511 case FontDescription::DisabledLigaturesState:
512 m_features.append(noCalt); 512 m_features.append(noCalt);
513 break; 513 break;
514 case FontDescription::EnabledLigaturesState: 514 case FontDescription::EnabledLigaturesState:
515 // calt is on by default 515 // calt is on by default
516 break; 516 break;
517 case FontDescription::NormalLigaturesState: 517 case FontDescription::NormalLigaturesState:
518 break; 518 break;
519 } 519 }
520 520
521 static hb_feature_t hwid = { HB_TAG('h', 'w', 'i', 'd'), 1, 0, static_cast<u nsigned>(-1) };
522 static hb_feature_t twid = { HB_TAG('t', 'w', 'i', 'd'), 1, 0, static_cast<u nsigned>(-1) };
523 static hb_feature_t qwid = { HB_TAG('d', 'w', 'i', 'd'), 1, 0, static_cast<u nsigned>(-1) };
524 switch (description.widthVariant()) {
525 case HalfWidth:
526 m_features.append(hwid);
527 break;
528 case ThirdWidth:
529 m_features.append(twid);
530 break;
531 case QuarterWidth:
532 m_features.append(qwid);
533 break;
534 case RegularWidth:
535 break;
536 }
537
521 FontFeatureSettings* settings = description.featureSettings(); 538 FontFeatureSettings* settings = description.featureSettings();
522 if (!settings) 539 if (!settings)
523 return; 540 return;
524 541
525 unsigned numFeatures = settings->size(); 542 unsigned numFeatures = settings->size();
526 for (unsigned i = 0; i < numFeatures; ++i) { 543 for (unsigned i = 0; i < numFeatures; ++i) {
527 hb_feature_t feature; 544 hb_feature_t feature;
528 const AtomicString& tag = settings->at(i).tag(); 545 const AtomicString& tag = settings->at(i).tag();
529 feature.tag = HB_TAG(tag[0], tag[1], tag[2], tag[3]); 546 feature.tag = HB_TAG(tag[0], tag[1], tag[2], tag[3]);
530 feature.value = settings->at(i).value(); 547 feature.value = settings->at(i).value();
(...skipping 585 matching lines...) Expand 10 before | Expand all | Expand 10 after
1116 point.x() + fromX, point.x() + toX, 1133 point.x() + fromX, point.x() + toX,
1117 point.y(), height); 1134 point.y(), height);
1118 } 1135 }
1119 1136
1120 return Font::pixelSnappedSelectionRect( 1137 return Font::pixelSnappedSelectionRect(
1121 point.x() + toX, point.x() + fromX, 1138 point.x() + toX, point.x() + fromX,
1122 point.y(), height); 1139 point.y(), height);
1123 } 1140 }
1124 1141
1125 } // namespace WebCore 1142 } // namespace WebCore
OLDNEW
« LayoutTests/fast/text/font-variant-width-expected.txt ('K') | « Source/platform/fonts/Font.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698