Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
K
kicad-source-mirror
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Commits
Open sidebar
Elphel
kicad-source-mirror
Commits
91bceadf
Commit
91bceadf
authored
May 29, 2009
by
faa
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
hershey font cyrillic support (only utf8)
parent
d3dc65b6
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
95 additions
and
9 deletions
+95
-9
common_plot_functions.cpp
common/common_plot_functions.cpp
+9
-9
drawtxt.cpp
common/drawtxt.cpp
+17
-0
hershey_fonts.h
include/hershey_fonts.h
+69
-0
No files found.
common/common_plot_functions.cpp
View file @
91bceadf
...
@@ -164,7 +164,7 @@ void WinEDA_DrawFrame::PlotWorkSheet( int format_plot, BASE_SCREEN* screen )
...
@@ -164,7 +164,7 @@ void WinEDA_DrawFrame::PlotWorkSheet( int format_plot, BASE_SCREEN* screen )
PlotGraphicText
(
format_plot
,
pos
,
color
,
PlotGraphicText
(
format_plot
,
pos
,
color
,
msg
,
TEXT_ORIENT_VERT
,
text_size
,
msg
,
TEXT_ORIENT_VERT
,
text_size
,
GR_TEXT_HJUSTIFY_CENTER
,
GR_TEXT_VJUSTIFY_BOTTOM
,
GR_TEXT_HJUSTIFY_CENTER
,
GR_TEXT_VJUSTIFY_BOTTOM
,
thickness
,
italic
,
false
,
false
);
thickness
,
italic
,
false
);
break
;
break
;
case
WS_SEGMENT_LU
:
case
WS_SEGMENT_LU
:
...
@@ -293,7 +293,7 @@ void WinEDA_DrawFrame::PlotWorkSheet( int format_plot, BASE_SCREEN* screen )
...
@@ -293,7 +293,7 @@ void WinEDA_DrawFrame::PlotWorkSheet( int format_plot, BASE_SCREEN* screen )
if
(
WsItem
->
m_Legende
)
msg
=
WsItem
->
m_Legende
;
if
(
WsItem
->
m_Legende
)
msg
=
WsItem
->
m_Legende
;
PlotGraphicText
(
format_plot
,
pos
,
color
,
msg
,
TEXT_ORIENT_HORIZ
,
text_size
,
PlotGraphicText
(
format_plot
,
pos
,
color
,
msg
,
TEXT_ORIENT_HORIZ
,
text_size
,
GR_TEXT_HJUSTIFY_LEFT
,
GR_TEXT_VJUSTIFY_CENTER
,
GR_TEXT_HJUSTIFY_LEFT
,
GR_TEXT_VJUSTIFY_CENTER
,
thickness
,
italic
,
false
,
false
);
thickness
,
italic
,
false
);
break
;
break
;
case
WS_SIZESHEET
:
case
WS_SIZESHEET
:
break
;
break
;
...
@@ -302,14 +302,14 @@ void WinEDA_DrawFrame::PlotWorkSheet( int format_plot, BASE_SCREEN* screen )
...
@@ -302,14 +302,14 @@ void WinEDA_DrawFrame::PlotWorkSheet( int format_plot, BASE_SCREEN* screen )
msg
<<
screen
->
m_ScreenNumber
;
msg
<<
screen
->
m_ScreenNumber
;
PlotGraphicText
(
format_plot
,
pos
,
color
,
msg
,
TEXT_ORIENT_HORIZ
,
text_size
,
PlotGraphicText
(
format_plot
,
pos
,
color
,
msg
,
TEXT_ORIENT_HORIZ
,
text_size
,
GR_TEXT_HJUSTIFY_LEFT
,
GR_TEXT_VJUSTIFY_CENTER
,
GR_TEXT_HJUSTIFY_LEFT
,
GR_TEXT_VJUSTIFY_CENTER
,
thickness
,
italic
,
false
,
false
);
thickness
,
italic
,
false
);
break
;
break
;
case
WS_SHEETS
:
case
WS_SHEETS
:
if
(
WsItem
->
m_Legende
)
msg
=
WsItem
->
m_Legende
;
if
(
WsItem
->
m_Legende
)
msg
=
WsItem
->
m_Legende
;
msg
<<
screen
->
m_NumberOfScreen
;
msg
<<
screen
->
m_NumberOfScreen
;
PlotGraphicText
(
format_plot
,
pos
,
color
,
msg
,
TEXT_ORIENT_HORIZ
,
text_size
,
PlotGraphicText
(
format_plot
,
pos
,
color
,
msg
,
TEXT_ORIENT_HORIZ
,
text_size
,
GR_TEXT_HJUSTIFY_LEFT
,
GR_TEXT_VJUSTIFY_CENTER
,
GR_TEXT_HJUSTIFY_LEFT
,
GR_TEXT_VJUSTIFY_CENTER
,
thickness
,
italic
,
false
,
false
);
thickness
,
italic
,
false
);
break
;
break
;
case
WS_COMPANY_NAME
:
case
WS_COMPANY_NAME
:
break
;
break
;
...
@@ -346,16 +346,16 @@ void WinEDA_DrawFrame::PlotWorkSheet( int format_plot, BASE_SCREEN* screen )
...
@@ -346,16 +346,16 @@ void WinEDA_DrawFrame::PlotWorkSheet( int format_plot, BASE_SCREEN* screen )
/* Begin list number > 1 */
/* Begin list number > 1 */
case
WS_PODPIS_D
:
case
WS_PODPIS_D
:
if
(
WsItem
->
m_Legende
)
msg
=
WsItem
->
m_Legende
;
if
(
WsItem
->
m_Legende
)
msg
=
WsItem
->
m_Legende
;
PlotGraphicText
(
format_plot
,
pos
,
color
,
msg
,
TEXT_ORIENT_HORIZ
,
text_size
,
PlotGraphicText
(
format_plot
,
pos
,
color
,
msg
,
TEXT_ORIENT_HORIZ
,
text_size
,
GR_TEXT_HJUSTIFY_LEFT
,
GR_TEXT_VJUSTIFY_CENTER
,
GR_TEXT_HJUSTIFY_LEFT
,
GR_TEXT_VJUSTIFY_CENTER
,
thickness
,
italic
,
false
,
false
);
thickness
,
italic
,
false
);
break
;
break
;
case
WS_IDENTSHEET_D
:
case
WS_IDENTSHEET_D
:
if
(
WsItem
->
m_Legende
)
msg
=
WsItem
->
m_Legende
;
if
(
WsItem
->
m_Legende
)
msg
=
WsItem
->
m_Legende
;
msg
<<
screen
->
m_ScreenNumber
;
msg
<<
screen
->
m_ScreenNumber
;
PlotGraphicText
(
format_plot
,
pos
,
color
,
msg
,
TEXT_ORIENT_HORIZ
,
text_size
,
PlotGraphicText
(
format_plot
,
pos
,
color
,
msg
,
TEXT_ORIENT_HORIZ
,
text_size
,
GR_TEXT_HJUSTIFY_LEFT
,
GR_TEXT_VJUSTIFY_CENTER
,
GR_TEXT_HJUSTIFY_LEFT
,
GR_TEXT_VJUSTIFY_CENTER
,
thickness
,
italic
,
false
,
false
);
thickness
,
italic
,
false
);
break
;
break
;
case
WS_LEFT_SEGMENT_D
:
case
WS_LEFT_SEGMENT_D
:
case
WS_SEGMENT_D
:
case
WS_SEGMENT_D
:
...
...
common/drawtxt.cpp
View file @
91bceadf
...
@@ -51,6 +51,23 @@ int NegableTextLength( const wxString& aText )
...
@@ -51,6 +51,23 @@ int NegableTextLength( const wxString& aText )
static
const
char
*
get_hershey_recipe
(
int
AsciiCode
,
bool
bold
)
static
const
char
*
get_hershey_recipe
(
int
AsciiCode
,
bool
bold
)
{
{
#if defined(KICAD_CYRILLIC)
AsciiCode
&=
0x7FF
;
if
(
AsciiCode
>
0x40F
&&
AsciiCode
<
0x450
)
// big small Cyr
{
return
hershey_cyrillic
[
AsciiCode
-
0x410
];
}
else
if
(
AsciiCode
==
0x401
)
{
return
hershey_cyrillic
[
0x5
];
}
else
if
(
AsciiCode
==
0x451
)
{
return
hershey_cyrillic
[
0x25
];
}
#endif
AsciiCode
&=
0x7F
;
AsciiCode
&=
0x7F
;
if
(
AsciiCode
<
32
)
if
(
AsciiCode
<
32
)
AsciiCode
=
32
;
/* Clamp control chars */
AsciiCode
=
32
;
/* Clamp control chars */
...
...
include/hershey_fonts.h
View file @
91bceadf
...
@@ -236,3 +236,72 @@ const static char* hershey_duplex[] =
...
@@ -236,3 +236,72 @@ const static char* hershey_duplex[] =
"F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O"
,
"F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O"
,
"KYQFOGNINKOMQNSNUMVKVIUGSFQF RQFNIOMSNVKUGQF RSFOGNKQNUMVISF"
"KYQFOGNINKOMQNSNUMVKVIUGSFQF RQFNIOMSNVKUGQF RSFOGNKQNUMVISF"
};
};
#if defined(KICAD_CYRILLIC)
const
static
char
*
hershey_cyrillic
[]
=
{
"H
\\
RFK[ RRFY[ RRIX[ RMUVU RI[O[ RU[[["
,
"G]LFL[ RMFM[ RIFYFYLXF RMPUPXQYRZTZWYYXZU[I[ RUPWQXRYTYWXYWZU["
,
"G]LFL[ RMFM[ RIFUFXGYHZJZLYNXOUP RUFWGXHYJYLXNWOUP RMPUPXQYRZTZWYYXZU[I[ RUPWQXRYTYWXYWZU["
,
"I[NFN[ ROFO[ RKFZFZLYF RK[R["
,
"F^NFNLMTLXKZJ[ RXFX[ RYFY[ RKF
\\
F RG[
\\
[ RG[Gb RH[Gb R[[
\\
b R
\\
[
\\
b"
,
"G
\\
LFL[ RMFM[ RSLST RIFYFYLXF RMPSP RI[Y[YUX["
,
"CbRFR[ RSFS[ ROFVF RGGHHGIFHFGGFHFIGJIKMLONPWPYOZM[I
\\
G]F^F_G_H^I]H^G RNPLQKSJXIZH[ RNPMQLSKXJZI[G[FZEX RWPYQZS[X
\\
Z][ RWPXQYSZX[Z
\\
[^[_Z`X RO[V["
,
"H
\\
LIKFKLLINGPFTFWGXIXLWNTOQO RTFVGWIWLVNTO RTOVPXRYTYWXYWZT[O[MZLYKWKVLUMVLW RWQXTXWWYVZT["
,
"F^KFK[ RLFL[ RXFX[ RYFY[ RHFOF RUF
\\
F RXHLY RH[O[ RU[
\\
["
,
"F^KFK[ RLFL[ RXFX[ RYFY[ RHFOF RUF
\\
F RXHLY RH[O[ RU[
\\
[ RN@N?M?M@NBPCTCVBW@"
,
"F^KFK[ RLFL[ RHFOF RLPSPUOVMWIXGYFZF[G[HZIYHZG RSPUQVSWXXZY[ RSPTQUSVXWZX[Z[[Z
\\
X RH[O["
,
"E^MFMLLTKXJZI[H[GZGYHXIYHZ RXFX[ RYFY[ RJF
\\
F RU[
\\
["
,
"F_KFK[ RLFRX RKFR[ RYFR[ RYFY[ RZFZ[ RHFLF RYF]F RH[N[ RV[]["
,
"F^KFK[ RLFL[ RXFX[ RYFY[ RHFOF RUF
\\
F RLPXP RH[O[ RU[
\\
["
,
"G]QFNGLIKKJOJRKVLXNZQ[S[VZXXYVZRZOYKXIVGSFQF RQFOGMILKKOKRLVMXOZQ[ RS[UZWXXVYRYOXKWIUGSF"
,
"F^KFK[ RLFL[ RXFX[ RYFY[ RHF
\\
F RH[O[ RU[
\\
["
,
"G]LFL[ RMFM[ RIFUFXGYHZJZMYOXPUQMQ RUFWGXHYJYMXOWPUQ RI[P["
,
"G
\\
XIYLYFXIVGSFQFNGLIKKJNJSKVLXNZQ[S[VZXXYV RQFOGMILKKNKSLVMXOZQ["
,
"I
\\
RFR[ RSFS[ RLFKLKFZFZLYF RO[V["
,
"H]KFRV RLFSV RZFSVQYPZN[M[LZLYMXNYMZ RIFOF RVF
\\
F"
,
"F_RFR[ RSFS[ ROFVF RPILJJLIOIRJULWPXUXYW[U
\\
R
\\
O[LYJUIPI RPIMJKLJOJRKUMWPX RUXXWZU[R[OZLXJUI RO[V["
,
"H
\\
KFX[ RLFY[ RYFK[ RIFOF RUF[F RI[O[ RU[[["
,
"F^KFK[ RLFL[ RXFX[ RYFY[ RHFOF RUF
\\
F RH[
\\
[ R[[
\\
b R
\\
[
\\
b"
,
"F]KFKQLSOTRTUSWQ RLFLQMSOT RWFW[ RXFX[ RHFOF RTF[F RT[[["
,
"BcGFG[ RHFH[ RRFR[ RSFS[ R]F][ R^F^[ RDFKF ROFVF RZFaF RD[a["
,
"BcGFG[ RHFH[ RRFR[ RSFS[ R]F][ R^F^[ RDFKF ROFVF RZFaF RD[a[ R`[ab Ra[ab"
,
"F`PFP[ RQFQ[ RIFHLHFTF RQPXP[Q
\\
R]T]W
\\
Y[ZX[M[ RXPZQ[R
\\
T
\\
W[YZZX["
,
/* Ъ */
"CaHFH[ RIFI[ REFLF RIPPPSQTRUTUWTYSZP[E[ RPPRQSRTTTWSYRZP[ R[F[[ R
\\
F
\\
[ RXF_F RX[_["
,
/* Ы */
"H]MFM[ RNFN[ RJFQF RNPUPXQYRZTZWYYXZU[J[ RUPWQXRYTYWXYWZU["
,
/* Ь */
"H]LIKFKLLINGQFSFVGXIYKZNZSYVXXVZS[P[MZLYKWKVLUMVLW RSFUGWIXKYNYSXVWXUZS[ RPPYP"
,
/* Э */
"CbHFH[ RIFI[ REFLF RE[L[ RVFSGQIPKOOORPVQXSZV[X[[Z]X^V_R_O^K]I[GXFVF RVFTGRIQKPOPRQVRXTZV[ RX[ZZ
\\
X]V^R^O]K
\\
IZGXF RIPOP"
,
/* Ю */
"G]WFW[ RXFX[ R[FOFLGKHJJJLKNLOOPWP ROFMGLHKJKLLNMOOP RRPPQORLYKZJZIY RPQOSMZL[J[IYIX RT[[["
,
/* Я */
"I]NONPMPMONNPMTMVNWOXQXXYZZ[ RWOWXXZZ[[[ RWQVRPSMTLVLXMZP[S[UZWX RPSNTMVMXNZP["
,
/* letter */
"H
\\
XFWGQINKLNKQKULXNZQ[S[VZXXYUYSXPVNSMQMNNLPKS RXFWHUIQJNLLN RQMONMPLSLUMXOZQ[ RS[UZWXXUXSWPUNSM"
,
"H
\\
MMM[ RNMN[ RJMUMXNYPYQXSUT RUMWNXPXQWSUT RNTUTXUYWYXXZU[J[ RUTWUXWXXWZU["
,
"HZMMM[ RNMN[ RJMXMXRWM RJ[Q["
,
"F]NMNQMWLZK[ RWMW[ RXMX[ RKM[M RI[H`H[[[[`Z["
,
"H[LSXSXQWOVNTMQMNNLPKSKULXNZQ[S[VZXX RWSWPVN RQMONMPLSLUMXOZQ["
,
"E`RMR[ RSMS[ ROMVM RJNIOHNIMJMKNMRNSPTUTWSXRZN[M
\\
M]N
\\
O[N RPTNUMVKZJ[ RPTNVLZK[I[HZGX RUTWUXVZZ[[ RUTWVYZZ[
\\
[]Z^X RO[V["
,
"I[MOLMLQMONNPMTMWNXPXQWSTT RTMVNWPWQVSTT RQTTTWUXWXXWZT[P[MZLXLWMVNWMX RTTVUWWWXVZT["
,
"G]LML[ RMMM[ RWMW[ RXMX[ RIMPM RTM[M RI[P[ RT[[[ RWNMZ"
,
"G]LML[ RMMM[ RWMW[ RXMX[ RIMPM RTM[M RI[P[ RT[[[ RWNMZ ROGOFNFNGOIQJSJUIVG"
,
"H
\\
MMM[ RNMN[ RJMQM RNTPTSSTRVNWMXMYNXOWN RPTSUTVVZW[ RPTRUSVUZV[X[YZZX RJ[Q["
,
"G]NMNQMWLZK[J[IZJYKZ RWMW[ RXMX[ RKM[M RT[[["
,
"G^LML[ RLMR[ RMMRY RXMR[ RXMX[ RYMY[ RIMMM RXM
\\
M RI[O[ RU[
\\
["
,
"G]LML[ RMMM[ RWMW[ RXMX[ RIMPM RTM[M RMTWT RI[P[ RT[[["
,
"H
\\
QMNNLPKSKULXNZQ[S[VZXXYUYSXPVNSMQM RQMONMPLSLUMXOZQ[ RS[UZWXXUXSWPUNSM"
,
"G]LML[ RMMM[ RWMW[ RXMX[ RIM[M RI[P[ RT[[["
,
"G
\\
LMLb RMMMb RMPONQMSMVNXPYSYUXXVZS[Q[OZMX RSMUNWPXSXUWXUZS[ RIMMM RIbPb"
,
"H[WPVQWRXQXPVNTMQMNNLPKSKULXNZQ[S[VZXX RQMONMPLSLUMXOZQ["
,
"I
\\
RMR[ RSMS[ RMMLRLMYMYRXM RO[V["
,
"I[LMR[ RMMRY RXMR[P_NaLbKbJaK`La RJMPM RTMZM"
,
"H]RFRb RSFSb ROFSF RRPQNPMNMLNKQKWLZN[P[QZRX RNMMNLQLWMZN[ RWMXNYQYWXZW[ RSPTNUMWMYNZQZWYZW[U[TZSX RObVb"
,
"H
\\
LMW[ RMMX[ RXML[ RJMPM RTMZM RJ[P[ RT[Z["
,
"G]LML[ RMMM[ RWMW[ RXMX[ RIMPM RTM[M RI[[[[`Z["
,
"G]LMLTMVPWRWUVWT RMMMTNVPW RWMW[ RXMX[ RIMPM RTM[M RT[[["
,
"CbHMH[ RIMI[ RRMR[ RSMS[ R
\\
M
\\
[ R]M][ REMLM ROMVM RYM`M RE[`["
,
"CbHMH[ RIMI[ RRMR[ RSMS[ R
\\
M
\\
[ R]M][ REMLM ROMVM RYM`M RE[`[``_["
,
"H]QMQ[ RRMR[ RLMKRKMUM RRTVTYUZWZXYZV[N[ RVTXUYWYXXZV["
,
/* ъ */
"E_JMJ[ RKMK[ RGMNM RKTOTRUSWSXRZO[G[ ROTQURWRXQZO[ RYMY[ RZMZ[ RVM]M RV[]["
,
/* ы */
"J[OMO[ RPMP[ RLMSM RPTTTWUXWXXWZT[L[ RTTVUWWWXVZT["
,
/* ь */
"H]LIKFKLLINGQFSFVGXIYKZNZSYVXXVZS[P[MZLYKWKVLUMVLW RSFUGWIXKYNYSXVWXUZS[ RPPYP"
,
/* э */
"DaIMI[ RJMJ[ RFMMM RF[M[ RVMSNQPPSPUQXSZV[X[[Z]X^U^S]P[NXMVM RVMTNRPQSQURXTZV[ RX[ZZ
\\
X]U]S
\\
PZNXM RJTPT"
,
/* ю */
"G
\\
VMV[ RWMW[ RZMOMLNKPKQLSOTVT ROMMNLPLQMSOT RTTQUPVNZM[ RTTRUQVOZN[L[KZJX RS[Z["
/* я */
};
#endif
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment