diff options
| author | Bob Zeleznik <zzzman@gmail.com> | 2019-10-09 23:30:36 -0400 | 
|---|---|---|
| committer | Bob Zeleznik <zzzman@gmail.com> | 2019-10-09 23:30:36 -0400 | 
| commit | 5617124a794b8d256e3d24b143b8dd2403cce993 (patch) | |
| tree | 673a288cdbc853d697c2d8294312f563ae9f4e60 /src/client/util/convertToCSSPTValue.js | |
| parent | 2cc7ca6b267d9dd6b1683d59b6966a021339bc18 (diff) | |
| parent | 3b1345616bf2f7101a21c182e0c9719b1e31f899 (diff) | |
merged
Diffstat (limited to 'src/client/util/convertToCSSPTValue.js')
| -rw-r--r-- | src/client/util/convertToCSSPTValue.js | 43 | 
1 files changed, 43 insertions, 0 deletions
diff --git a/src/client/util/convertToCSSPTValue.js b/src/client/util/convertToCSSPTValue.js new file mode 100644 index 000000000..179557953 --- /dev/null +++ b/src/client/util/convertToCSSPTValue.js @@ -0,0 +1,43 @@ +'use strict'; + +Object.defineProperty(exports, "__esModule", { +    value: true +}); +exports.PT_TO_PX_RATIO = exports.PX_TO_PT_RATIO = undefined; +exports.default = convertToCSSPTValue; +exports.toClosestFontPtSize = toClosestFontPtSize; + +// var _FontSizeCommandMenuButton = require('./ui/FontSizeCommandMenuButton'); + +var SIZE_PATTERN = /([\d\.]+)(px|pt)/i; + +var PX_TO_PT_RATIO = exports.PX_TO_PT_RATIO = 0.7518796992481203; // 1 / 1.33. +var PT_TO_PX_RATIO = exports.PT_TO_PX_RATIO = 1.33; + +function convertToCSSPTValue(styleValue) { +    var matches = styleValue.match(SIZE_PATTERN); +    if (!matches) { +        return 0; +    } +    var value = parseFloat(matches[1]); +    var unit = matches[2]; +    if (!value || !unit) { +        return 0; +    } +    if (unit === 'px') { +        value = PX_TO_PT_RATIO * value; +    } +    return value; +} + +function toClosestFontPtSize(styleValue) { +    var originalPTValue = convertToCSSPTValue(styleValue); + +    // if (_FontSizeCommandMenuButton.FONT_PT_SIZES.includes(originalPTValue)) { +    //     return originalPTValue; +    // } + +    return _FontSizeCommandMenuButton.FONT_PT_SIZES.reduce(function (prev, curr) { +        return Math.abs(curr - originalPTValue) < Math.abs(prev - originalPTValue) ? curr : prev; +    }, Number.NEGATIVE_INFINITY); +}
\ No newline at end of file  | 
