Browse Source

feat(bottom alignment of english letters): fix

master
liuyang 5 years ago
parent
commit
a596d2fcd6
  1. 35
      src/global/getRowlen.js
  2. 9
      src/index.html

35
src/global/getRowlen.js

@ -196,8 +196,8 @@ function getMeasureText(value, ctx, fontset){
} }
let measureText = ctx.measureText(value), cache = {}; let measureText = ctx.measureText(value), cache = {};
var regu = "^[ ]+$"; // var regu = "^[ ]+$";
var re = new RegExp(regu); // var re = new RegExp(regu);
// if(measureText.actualBoundingBoxRight==null || re.test(value)){ // if(measureText.actualBoundingBoxRight==null || re.test(value)){
// cache.width = measureText.width; // cache.width = measureText.width;
// } // }
@ -235,6 +235,37 @@ function getMeasureText(value, ctx, fontset){
//console.log(value, oneLineTextHeight, measureText.actualBoundingBoxDescent+measureText.actualBoundingBoxAscent,ctx.font); //console.log(value, oneLineTextHeight, measureText.actualBoundingBoxDescent+measureText.actualBoundingBoxAscent,ctx.font);
} }
if(ctx.textBaseline == 'alphabetic'){
let descText = "gjpqy", matchText="abcdABCD";
let descTextMeasure = Store.measureTextCache[descText + "_" + ctx.font];
if(fontset!=null){
descTextMeasure = Store.measureTextCache[descText + "_" + fontset];
}
let matchTextMeasure = Store.measureTextCache[matchText + "_" + ctx.font];
if(fontset!=null){
matchTextMeasure = Store.measureTextCache[matchText + "_" + fontset];
}
if(descTextMeasure == null){
descTextMeasure = ctx.measureText(descText);
}
if(matchTextMeasure == null){
matchTextMeasure = ctx.measureText(matchText);
}
if(cache.actualBoundingBoxDescent<=matchTextMeasure.actualBoundingBoxDescent){
cache.actualBoundingBoxDescent = descTextMeasure.actualBoundingBoxDescent;
if(cache.actualBoundingBoxDescent==null){
cache.actualBoundingBoxDescent = 0;
}
}
}
cache.width *= Store.zoomRatio; cache.width *= Store.zoomRatio;
cache.actualBoundingBoxDescent *= Store.zoomRatio; cache.actualBoundingBoxDescent *= Store.zoomRatio;
cache.actualBoundingBoxAscent *= Store.zoomRatio; cache.actualBoundingBoxAscent *= Store.zoomRatio;

9
src/index.html

@ -97,6 +97,15 @@
}, },
data: data:
[sheetCell,sheetFormula,sheetConditionFormat,sheetSparkline,sheetTable,sheetComment,sheetPivotTableData,sheetPivotTable,sheetChart,sheetPicture,sheetDataVerification] [sheetCell,sheetFormula,sheetConditionFormat,sheetSparkline,sheetTable,sheetComment,sheetPivotTableData,sheetPivotTable,sheetChart,sheetPicture,sheetDataVerification]
/*[{
"index": "0",
"zoomRatio": 1,
"order": "0",
"column": 3,
"row": 4,
"status": 1,
celldata:[{"r":0,"c":0,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1,"v":1,"ct":{"fa":"General","t":"n"},"m":"1"}},{"r":0,"c":1,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1,"v":2,"ct":{"fa":"General","t":"n"},"m":"2"}}]
}]*/
/*[{"name":"Sheet1","config":{"columnlen":{"0":241},"rowlen":{"0":81}},"index":"1","status":"1","order":"0","luckysheet_select_save":[{"row":[0,0],"column":[4,4],"sheetIndex":1}],"zoomRatio":1,"showGridLines":"1","defaultColWidth":72,"defaultRowHeight":18,"celldata":[ /*[{"name":"Sheet1","config":{"columnlen":{"0":241},"rowlen":{"0":81}},"index":"1","status":"1","order":"0","luckysheet_select_save":[{"row":[0,0],"column":[4,4],"sheetIndex":1}],"zoomRatio":1,"showGridLines":"1","defaultColWidth":72,"defaultRowHeight":18,"celldata":[
{"r":0,"c":0, {"r":0,"c":0,
"v":{ "v":{

Loading…
Cancel
Save