本技術(shù)涉及計(jì)算機(jī),尤其涉及一種字符顯示方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、現(xiàn)有技術(shù)中,如果計(jì)算機(jī)中沒有原始字體,則在計(jì)算機(jī)中選擇默認(rèn)的字體作為原始字體的替換字體。但由于原始字體和替換字體具有不同的設(shè)計(jì),每個(gè)相同字符的字型都是有差別的。其中,字型受到各種參數(shù)影響,如,占用寬度、占用高度、與其他字符之間的距離等。甚至,在字號(hào)一樣的情況下,每個(gè)字符的大小都有區(qū)別。
2、在此場(chǎng)景下,使用替換字體替換原始字體之后,字符的排版容易出現(xiàn)跑版問題。例如,有些單詞中的字符間距過寬,容易誤解為多個(gè)單詞;有些單詞中的字符間距過窄,容易造成字符的重疊,甚至與其他單詞連在一起。如kingsoft?office,變成了k?in?g?s?o?ft?office。這嚴(yán)重影響了閱讀。
技術(shù)實(shí)現(xiàn)思路
1、鑒于此,為解決上述部分或全部技術(shù)問題,本技術(shù)實(shí)施例提供一種字符顯示方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)。
2、第一方面,本技術(shù)實(shí)施例提供一種字符顯示方法,所述方法包括:
3、確定目標(biāo)字符的第一字符信息;其中,所述第一字符信息為:在按照原始字體繪制所述目標(biāo)字符的情況下,所述目標(biāo)字符的信息;所述原始字體為本地不存在的字體;
4、基于所述第一字符信息,確定所述目標(biāo)字符的第二字符信息;其中,所述第二字符信息為:在按照替換字體繪制所述目標(biāo)字符的情況下,所述目標(biāo)字符的信息;所述替換字體為本地存在的字體;
5、基于所述第二字符信息,對(duì)所述目標(biāo)字符進(jìn)行排版,以按照所述替換字體顯示所述目標(biāo)字符。
6、在一個(gè)可能的實(shí)施方式中,所述基于所述第一字符信息,確定所述目標(biāo)字符的第二字符信息,包括:
7、基于所述第一字符信息,確定第一區(qū)域信息;其中,所述第一區(qū)域信息為:在按照所述原始字體繪制所述目標(biāo)字符的情況下,所述目標(biāo)字符占用的區(qū)域信息;
8、將所述第一區(qū)域信息,確定為第二區(qū)域信息;其中,所述第二區(qū)域信息為:在按照替換字體繪制所述目標(biāo)字符的情況下,所述目標(biāo)字符占用的區(qū)域信息;
9、基于所述第二區(qū)域信息,確定所述目標(biāo)字符的第二字符信息。
10、在一個(gè)可能的實(shí)施方式中,所述基于所述第一字符信息,確定所述目標(biāo)字符的第二字符信息,包括:
11、基于所述第一字符信息,確定第一原點(diǎn)位置;其中,所述第一原點(diǎn)位置為:在按照所述原始字體繪制所述目標(biāo)字符的情況下,所述目標(biāo)字符的原點(diǎn)所在的位置;
12、將所述第一原點(diǎn)位置,確定為第二原點(diǎn)位置;其中,所述第二原點(diǎn)位置為:在按照替換字體繪制所述目標(biāo)字符的情況下,所述目標(biāo)字符的原點(diǎn)所在的位置;
13、基于所述第二原點(diǎn)位置,確定所述目標(biāo)字符的第二字符信息。
14、在一個(gè)可能的實(shí)施方式中,所述基于所述第一字符信息,確定所述目標(biāo)字符的第二字符信息,包括:
15、基于所述第一字符信息,確定第三區(qū)域信息;其中,所述第三區(qū)域信息為:在按照替換字體繪制所述目標(biāo)字符的情況下,所述目標(biāo)字符的包圍盒所在的區(qū)域的信息;
16、將所述第三區(qū)域信息,確定為所述目標(biāo)字符的第二字符信息。
17、在一個(gè)可能的實(shí)施方式中,所述基于所述第一字符信息,確定第三區(qū)域信息,包括:
18、確定所述目標(biāo)字符的第一字符尺寸,其中,所述第一字符尺寸為:在按照替換字體繪制所述目標(biāo)字符的情況下,所述目標(biāo)字符的包圍盒尺寸;
19、確定所述目標(biāo)字符的第二字符尺寸,其中,所述第二字符尺寸為:在按照所述原始字體繪制所述目標(biāo)字符的情況下,所述目標(biāo)字符占用的區(qū)域尺寸;
20、基于所述第一字符信息、所述第一字符尺寸和所述第二字符尺寸,確定第三區(qū)域信息。
21、在一個(gè)可能的實(shí)施方式中,所述基于所述第一字符信息、所述第一字符尺寸和所述第二字符尺寸,確定第三區(qū)域信息,包括:
22、基于所述第一字符信息,確定第一區(qū)域信息;其中,所述第一區(qū)域信息為:在按照所述原始字體繪制所述目標(biāo)字符的情況下,所述目標(biāo)字符占用的區(qū)域信息;
23、基于所述第一字符尺寸和所述第二字符尺寸,在所述第一區(qū)域信息中,確定第三區(qū)域信息;其中,所述第三區(qū)域信息為:在按照所述替換字體繪制所述目標(biāo)字符的情況下,所述目標(biāo)字符的包圍盒所在的區(qū)域的信息;所述第三區(qū)域信息表示的區(qū)域的中心為所述第一區(qū)域信息表示的區(qū)域的中心。
24、在一個(gè)可能的實(shí)施方式中,所述基于所述第一字符信息,確定第三區(qū)域信息,包括:
25、基于所述第一字符信息,確定第一距離和第二距離;其中,所述第一距離表示:在按照所述原始字體繪制所述目標(biāo)字符的情況下,所述目標(biāo)字符的原點(diǎn)到所述目標(biāo)字符的包圍盒的第一邊的距離;所述第二距離表示:在按照所述原始字體繪制所述目標(biāo)字符的情況下,所述目標(biāo)字符的原點(diǎn)到所述目標(biāo)字符的包圍盒的第二邊的距離;所述第二邊與所述第一邊平行;
26、基于所述第一距離和所述第二距離,確定第三距離和第四距離;其中,所述第三距離表示:在按照替換字體繪制所述目標(biāo)字符的情況下,所述目標(biāo)字符的原點(diǎn)到所述目標(biāo)字符的包圍盒的第三邊的距離;所述第四距離表示:在按照所述替換字體繪制所述目標(biāo)字符的情況下,所述目標(biāo)字符的原點(diǎn)到所述目標(biāo)字符的包圍盒的第四邊的距離;所述第三邊、所述第四邊分別與所述第二邊平行;
27、基于所述第三距離和所述第四距離,確定第三區(qū)域信息。
28、在一個(gè)可能的實(shí)施方式中,所述第三區(qū)域信息表示的區(qū)域的區(qū)域?qū)挾?、第四區(qū)域信息表示的區(qū)域的區(qū)域?qū)挾染鶠槟繕?biāo)寬度,所述第四區(qū)域信息為:在按照原始字體繪制所述目標(biāo)字符的情況下,所述目標(biāo)字符的包圍盒所在的區(qū)域的信息;以及
29、所述基于所述第一距離和所述第二距離,確定第三距離和第四距離,包括:
30、確定所述目標(biāo)寬度與所述第二距離的差值,得到第一差值;
31、確定所述第一距離和所述第一差值的比值,得到目標(biāo)比值;
32、基于所述目標(biāo)比值,確定第三距離和第四距離,其中,所述第三距離與第二差值的比值為所述目標(biāo)比值,所述第二差值為所述目標(biāo)寬度與所述第四距離的差值。
33、第二方面,本技術(shù)實(shí)施例提供一種字符顯示裝置,所述裝置包括:
34、第一確定單元,用于確定目標(biāo)字符的第一字符信息;其中,所述第一字符信息為:在按照原始字體繪制所述目標(biāo)字符的情況下,所述目標(biāo)字符的信息;所述原始字體為本地不存在的字體;
35、第二確定單元,用于基于所述第一字符信息,確定所述目標(biāo)字符的第二字符信息;其中,所述第二字符信息為:在按照替換字體繪制所述目標(biāo)字符的情況下,所述目標(biāo)字符的信息;所述替換字體為本地存在的字體;
36、顯示單元,用于基于所述第二字符信息,對(duì)所述目標(biāo)字符進(jìn)行排版,以按照所述替換字體顯示所述目標(biāo)字符。
37、在一個(gè)可能的實(shí)施方式中,所述基于所述第一字符信息,確定所述目標(biāo)字符的第二字符信息,包括:
38、基于所述第一字符信息,確定第一區(qū)域信息;其中,所述第一區(qū)域信息為:在按照所述原始字體繪制所述目標(biāo)字符的情況下,所述目標(biāo)字符占用的區(qū)域信息;
39、將所述第一區(qū)域信息,確定為第二區(qū)域信息;其中,所述第二區(qū)域信息為:在按照替換字體繪制所述目標(biāo)字符的情況下,所述目標(biāo)字符占用的區(qū)域信息;
40、基于所述第二區(qū)域信息,確定所述目標(biāo)字符的第二字符信息。
41、在一個(gè)可能的實(shí)施方式中,所述基于所述第一字符信息,確定所述目標(biāo)字符的第二字符信息,包括:
42、基于所述第一字符信息,確定第一原點(diǎn)位置;其中,所述第一原點(diǎn)位置為:在按照所述原始字體繪制所述目標(biāo)字符的情況下,所述目標(biāo)字符的原點(diǎn)所在的位置;
43、將所述第一原點(diǎn)位置,確定為第二原點(diǎn)位置;其中,所述第二原點(diǎn)位置為:在按照替換字體繪制所述目標(biāo)字符的情況下,所述目標(biāo)字符的原點(diǎn)所在的位置;
44、基于所述第二原點(diǎn)位置,確定所述目標(biāo)字符的第二字符信息。
45、在一個(gè)可能的實(shí)施方式中,所述基于所述第一字符信息,確定所述目標(biāo)字符的第二字符信息,包括:
46、基于所述第一字符信息,確定第三區(qū)域信息;其中,所述第三區(qū)域信息為:在按照替換字體繪制所述目標(biāo)字符的情況下,所述目標(biāo)字符的包圍盒所在的區(qū)域的信息;
47、將所述第三區(qū)域信息,確定為所述目標(biāo)字符的第二字符信息。
48、在一個(gè)可能的實(shí)施方式中,所述基于所述第一字符信息,確定第三區(qū)域信息,包括:
49、確定所述目標(biāo)字符的第一字符尺寸,其中,所述第一字符尺寸為:在按照替換字體繪制所述目標(biāo)字符的情況下,所述目標(biāo)字符的包圍盒尺寸;
50、確定所述目標(biāo)字符的第二字符尺寸,其中,所述第二字符尺寸為:在按照所述原始字體繪制所述目標(biāo)字符的情況下,所述目標(biāo)字符占用的區(qū)域尺寸;
51、基于所述第一字符信息、所述第一字符尺寸和所述第二字符尺寸,確定第三區(qū)域信息。
52、在一個(gè)可能的實(shí)施方式中,所述基于所述第一字符信息、所述第一字符尺寸和所述第二字符尺寸,確定第三區(qū)域信息,包括:
53、基于所述第一字符信息,確定第一區(qū)域信息;其中,所述第一區(qū)域信息為:在按照所述原始字體繪制所述目標(biāo)字符的情況下,所述目標(biāo)字符占用的區(qū)域信息;
54、基于所述第一字符尺寸和所述第二字符尺寸,在所述第一區(qū)域信息中,確定第三區(qū)域信息;其中,所述第三區(qū)域信息為:在按照所述替換字體繪制所述目標(biāo)字符的情況下,所述目標(biāo)字符的包圍盒所在的區(qū)域的信息;所述第三區(qū)域信息表示的區(qū)域的中心為所述第一區(qū)域信息表示的區(qū)域的中心。
55、在一個(gè)可能的實(shí)施方式中,所述基于所述第一字符信息,確定第三區(qū)域信息,包括:
56、基于所述第一字符信息,確定第一距離和第二距離;其中,所述第一距離表示:在按照所述原始字體繪制所述目標(biāo)字符的情況下,所述目標(biāo)字符的原點(diǎn)到所述目標(biāo)字符的包圍盒的第一邊的距離;所述第二距離表示:在按照所述原始字體繪制所述目標(biāo)字符的情況下,所述目標(biāo)字符的原點(diǎn)到所述目標(biāo)字符的包圍盒的第二邊的距離;所述第二邊與所述第一邊平行;
57、基于所述第一距離和所述第二距離,確定第三距離和第四距離;其中,所述第三距離表示:在按照替換字體繪制所述目標(biāo)字符的情況下,所述目標(biāo)字符的原點(diǎn)到所述目標(biāo)字符的包圍盒的第三邊的距離;所述第四距離表示:在按照所述替換字體繪制所述目標(biāo)字符的情況下,所述目標(biāo)字符的原點(diǎn)到所述目標(biāo)字符的包圍盒的第四邊的距離;所述第三邊、所述第四邊分別與所述第二邊平行;
58、基于所述第三距離和所述第四距離,確定第三區(qū)域信息。
59、在一個(gè)可能的實(shí)施方式中,所述第三區(qū)域信息表示的區(qū)域的區(qū)域?qū)挾?、第四區(qū)域信息表示的區(qū)域的區(qū)域?qū)挾染鶠槟繕?biāo)寬度,所述第四區(qū)域信息為:在按照原始字體繪制所述目標(biāo)字符的情況下,所述目標(biāo)字符的包圍盒所在的區(qū)域的信息;以及
60、所述基于所述第一距離和所述第二距離,確定第三距離和第四距離,包括:
61、確定所述目標(biāo)寬度與所述第二距離的差值,得到第一差值;
62、確定所述第一距離和所述第一差值的比值,得到目標(biāo)比值;
63、基于所述目標(biāo)比值,確定第三距離和第四距離,其中,所述第三距離與第二差值的比值為所述目標(biāo)比值,所述第二差值為所述目標(biāo)寬度與所述第四距離的差值。
64、第三方面,本技術(shù)實(shí)施例提供一種電子設(shè)備,包括:
65、存儲(chǔ)器,用于存儲(chǔ)計(jì)算機(jī)程序;
66、處理器,用于執(zhí)行所述存儲(chǔ)器中存儲(chǔ)的計(jì)算機(jī)程序,且所述計(jì)算機(jī)程序被執(zhí)行時(shí),實(shí)現(xiàn)本技術(shù)上述第一方面的字符顯示方法中任一實(shí)施例的方法。
67、第四方面,本技術(shù)實(shí)施例提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí),實(shí)現(xiàn)如上述第一方面的字符顯示方法中任一實(shí)施例的方法。
68、第五方面,本技術(shù)實(shí)施例提供一種計(jì)算機(jī)程序,所述計(jì)算機(jī)程序包括計(jì)算機(jī)可讀代碼,當(dāng)所述計(jì)算機(jī)可讀代碼在設(shè)備上運(yùn)行時(shí),使得該設(shè)備中的處理器實(shí)現(xiàn)如上述第一方面的字符顯示方法中任一實(shí)施例的方法。
69、本技術(shù)實(shí)施例提供的字符顯示方法,可以確定目標(biāo)字符的第一字符信息;其中,所述第一字符信息為:在按照原始字體繪制所述目標(biāo)字符的情況下,所述目標(biāo)字符的信息;所述原始字體為本地不存在的字體,之后,基于所述第一字符信息,確定所述目標(biāo)字符的第二字符信息;其中,所述第二字符信息為:在按照替換字體繪制所述目標(biāo)字符的情況下,所述目標(biāo)字符的信息;所述替換字體為本地存在的字體,隨后,基于所述第二字符信息,對(duì)所述目標(biāo)字符進(jìn)行排版,以按照所述替換字體顯示所述目標(biāo)字符。由此,通過本地不存在的原始字體的字符的位置,來確定本地存在的替換字體的字符的位置,進(jìn)而基于所確定的信息,對(duì)目標(biāo)字符進(jìn)行排版,以按照替換字體的樣式顯示該字符,可以使得以替換字體顯示的字符的位置,接近于以原始字體顯示的字符的位置,進(jìn)而減少了字體替換前后對(duì)字符排版造成的影響,從而可以降低排版問題對(duì)用戶造成的閱讀影響。