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