@@ -103,8 +103,12 @@ import { EventBusMap } from '../../interface/EventBus'
103103import { Group } from './interactive/Group'
104104import { Override } from '../override/Override'
105105import { FlexDirection , ImageDisplay } from '../../dataset/enum/Common'
106- import { PUNCTUATION_REG } from '../../dataset/constant/Regular'
106+ import {
107+ PUNCTUATION_REG ,
108+ WHITE_SPACE_REG
109+ } from '../../dataset/constant/Regular'
107110import { LineBreakParticle } from './particle/LineBreakParticle'
111+ import { WhiteSpaceParticle } from './particle/WhiteSpaceParticle'
108112import { MouseObserver } from '../observer/MouseObserver'
109113import { LineNumber } from './frame/LineNumber'
110114import { PageBorder } from './frame/PageBorder'
@@ -171,6 +175,7 @@ export class Draw {
171175 private blockParticle : BlockParticle
172176 private listParticle : ListParticle
173177 private lineBreakParticle : LineBreakParticle
178+ private whiteSpaceParticle : WhiteSpaceParticle
174179 private control : Control
175180 private pageBorder : PageBorder
176181 private workerManager : WorkerManager
@@ -253,6 +258,7 @@ export class Draw {
253258 this . blockParticle = new BlockParticle ( this )
254259 this . listParticle = new ListParticle ( this )
255260 this . lineBreakParticle = new LineBreakParticle ( this )
261+ this . whiteSpaceParticle = new WhiteSpaceParticle ( this )
256262 this . control = new Control ( this )
257263 this . pageBorder = new PageBorder ( this )
258264 this . graffiti = new Graffiti ( this , data . graffiti )
@@ -2128,7 +2134,8 @@ export class Draw {
21282134 scale,
21292135 table : { tdPadding } ,
21302136 group,
2131- lineBreak
2137+ lineBreak,
2138+ whiteSpace
21322139 } = this . options
21332140 const {
21342141 rowList,
@@ -2137,7 +2144,8 @@ export class Draw {
21372144 positionList,
21382145 startIndex,
21392146 zone,
2140- isDrawLineBreak = ! lineBreak . disabled
2147+ isDrawLineBreak = ! lineBreak . disabled ,
2148+ isDrawWhiteSpace = ! whiteSpace . disabled
21412149 } = payload
21422150 const isPrintMode = this . isPrintMode ( )
21432151 const isGraffitiMode = this . isGraffitiMode ( )
@@ -2279,6 +2287,10 @@ export class Draw {
22792287 ) {
22802288 this . lineBreakParticle . render ( ctx , element , x , y + curRow . height / 2 )
22812289 }
2290+ // 空白符绘制
2291+ if ( isDrawWhiteSpace && WHITE_SPACE_REG . test ( element . value ) ) {
2292+ this . whiteSpaceParticle . render ( ctx , element , x , y + curRow . height / 2 )
2293+ }
22822294 // 边框绘制(目前仅支持控件)
22832295 if ( element . control ?. border ) {
22842296 // 不同控件边框立刻绘制
0 commit comments