forked from livecode/livecode
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathHTMLText.lcdoc
More file actions
230 lines (187 loc) · 9.54 KB
/
Copy pathHTMLText.lcdoc
File metadata and controls
230 lines (187 loc) · 9.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
Name: HTMLText
Type: property
Syntax: set the HTMLText of [<chunk> of] <field> to <htmlString>
Syntax: get the [effective] HTMLText of [<chunk> of] <field>
Summary: Specifies the contents of a <field>, with its text <format|formatting> represented as <HTML> tags and special characters represented as <HTML> entities.
Associations: field
Introduced: 1.0
OS: mac,windows,linux,ios,android
Platforms: desktop,server,web,mobile
Example:
set the HTMLText of field "White Paper" to "<b><i>Click here!</i></b>"
Example:
set the HTMLText of field "Dest" to the HTMLText of field "Source"
Example:
write the HTMLText of field "Story" to file myWebFile
Example:
put the effective htmlText of field "description"
Description:
Use the <HTMLText> <property> to display text from a web page in a <field(keyword)>, or copy or export a <field(object)|field's> contents with the text <format|formatting> intact.
The <HTMLText> of a <field(keyword)> or <chunk> is a <string>.
If the effective keyword is specified the <htmlText> property retuns the html of the field with explicit formatting. For example if the <textFont> of the stack is set this is not included in the <htmlText> but is inlcuded in the effective <htmlText>.
The <HTMLText> <property> is a representation of the styled text of the <field(keyword)>. LiveCode uses a subset of <HTML> tags that includes font, size, style, and text color information.
Setting the <HTMLText> of a <field(keyword)> (or a <chunk> of a <field(keyword)>) sets both the text contents and the style attributes corresponding to the tags listed below. (Other tags are ignored.)
Getting the <HTMLText> <property> reports a <string> consisting of the text of the <field(keyword)> (or <chunk> of a <field(keyword)>), with any font, size, style, or color <properties> embedded in the text in the form of the tags listed below.
The tags translate as follows:
<p> </p>
Encloses a line of text. (Blank lines are also enclosed in <p> </p>.)
<sub> </sub>
Encloses text whose textShift is a positive <integer>. (The <sub> tag is not nested for additional levels of subscription: it appears once for a run of subscripted text, regardless of the value of the <textShift>.)
<sup> </sup>
Encloses text whose textShift is a <negative> <integer>. (The <sup> tag is not nested for additional levels of superscription: it appears once for a run of superscripted text, regardless of the value of the <textShift>.)
<i> </i>
Encloses text whose textStyle is "italic".
<b> </b>
Encloses text whose textStyle is "bold".
<strike> </strike>
Encloses text whose textStyle is "strikeout".
<u> </u>
Encloses text whose textStyle is "underline".
<box> </box>
Encloses text whose textStyle is "box".
<threedbox> </threedbox>
Encloses text whose textStyle is "threeDBox".
<font> </font>
Encloses text whose <textFont>, <textSize>, <foregroundColor>, or <backgroundColor> is different from the <field(object)|field's> <default>. These five <properties> are represented as attributes of the <font> tag.
* face="fontName" appears in the <font> tag if the <textFont> is not the <default>.
* size="pointSize" appears if the <textSize> is not the <default>.
In standard HTML, the size attribute normally takes a value between 1 and 7, representing a relative text size, with 3 being the normal text size for the web page. To accommodate this convention, when setting the <HTMLText> of a <field(keyword)>, if the pointSize is between 1 and 7, the <textSize> of the text is set to a standard value:
pointSize | textSize
:----------:|:---------:
1 | 8 point
2 | 10 point
3 | 12 point
4 | 14 point
5 | 17 point
6 | 20 point
7 | 25 point
* lang="languageName" appears if the <textFont> includes a language specification.
* color="colorSpec" appears if the <foregroundColor> is not the <default>.
* bgcolor="colorSpec" appears if the backgroundColor is not the <default>.
When getting the <htmlText> of a <field(keyword)>, a color is represented as an <HTML> -style color consisting of a hash mark (#) followed by three 2-digit <hexadecimal> numbers, one for each of red, green, and blue.
<a> </a>
Encloses text whose textStyle is "link" or whose <linkText> <property> is not empty. If the <textStyle> of the text contains "link", the <linkText> is included as the value of the "href" attribute. Otherwise, it is included as the value of the "name" attribute.
<img src="imageSpecifier">
Replaces a character whose imageSource <property> is not empty. The value of the <imageSource> <property> is included as the value of the "src" attribute.
When you set the <HTMLText> of a <field(keyword)>, all tags other than those above are ignored, except heading tags (<h1>--<h6>), which change the size of the text in the heading element:
tag | textSize
:----:|:---------:
<h1> | 34 point
<h2> | 24 point
<h3> | 18 point
<h4> | 14 point
<h5> | 12 point
<h6> | 10 point
You can use LiveCode color references for the "color" and "bgcolor" attributes. LiveCode translates these into standard HTML-style color specifications.
If a chunk of text includes more than one of the above styles, LiveCode encloses the text in the tags corresponding to each style, from the inside out. For example, if the word "Flail" in a field is underlined and bold, its corresponding <HTMLText> is "<u><b>Flail</b></u>".
Special characters (whose ASCII value is greater than 127) are <encode|encoded> as <HTML> entities. LiveCode recognizes the following named entities:
character | entity
:----------:|:-------:
Á | &Aacute;
á | &aacute;
 | &Acirc;
â | &acirc;
´ | &acute;
Æ | &AElig;
æ | &aelig;
À | &Agrave;
à | &agrave;
Å | &Aring;
å | &aring;
à | &Atilde;
ã | &atilde;
Ä | &Auml;
ä | &auml;
¦ | &brvbar;
Ç | &Ccedil;
ç | &ccedil;
¸ | &cedil;
¢ | &cent;
© | &copy;
¤ | &curren;
° | &deg;
÷ | &divide;
É | &Eacute;
é | &eacute;
Ê | &Ecirc;
ê | &ecirc;
È | &Egrave;
è | &egrave;
Ð | &ETH;
ð | &eth;
Ë | &Euml;
ë | &euml;
½ | &frac12;
¼ | &frac14;
¾ | &frac34;
> | &gt;
Í | &Iacute;
í | &iacute;
Î | &Icirc;
î | &icirc;
¡ | &iexcl;
Ì | &Igrave;
ì | &igrave;
¿ | &iquest;
Ï | &Iuml;
ï | &iuml;
« | &laquo;
< | &lt;
¯ | &macr;
µ | &micro;
· | &middot;
| &nbsp;
¬ | &not;
Ñ | &Ntilde;
ñ | &ntilde;
Ó | &Oacute;
ó | &oacute;
Ô | &Ocirc;
ô | &ocirc;
Ò | &Ograve;
ò | &ograve;
ª | &ordf;
º | &ordm;
Ø | &Oslash;
ø | &oslash;
Õ | &Otilde;
õ | &otilde;
Ö | &Ouml;
ö | &ouml;
¶ | &para;
± | &plusmn;
£ | &pound;
» | &raquo;
® | &reg;
§ | &sect;
| &shy;
¹ | &sup1;
² | &sup2;
³ | &sup3;
ß | &szlig;
Þ | &THORN;
þ | &thorn;
× | &times;
Ú | &Uacute;
ú | &uacute;
Û | &Ucirc;
û | &ucirc;
Ù | &Ugrave;
ù | &ugrave;
¨ | &uml;
Ü | &Uuml;
ü | &uuml;
Ý | &Yacute;
ý | &yacute;
¥ | &yen;
ÿ | &yuml;
Unicode characters whose numeric value is greater than 255 are encoded as "bignum" entities, with a leading ampersand and trailing semicolon. For example, the Japanese character whose numeric value is 12387 is encoded as "#12387;".
>*Note:* The <HTMLText> of a <field(keyword)> or <chunk> includes formatting information for the text, but does not include information about the text <properties> of the <field(keyword)> itself. If you use the <HTMLText> <property> to transfer text between <field(object)|fields>, you must make sure that the destination <field(object)|field's> <textFont> and other text <properties> match the settings of the source field, if you want the text in both <field(object)|fields> to look identical.
>*Important:* The <HTMLText> <property> uses a tag <control structure|structure> that is HTML-like, but is not completely standard <HTML>, in order to accommodate the full <range> of text styling available in LiveCode. Specifically:
* The link, box and threedbox tags, as well as the bgColor attribute of the font tag, have been added to accommodate styles that don't exist in standard HTML.
* The size attribute of the font tag can encode the font's point size, in addition to the standard 7 HTML sizes.
* The <HTMLText> reports entities whose <ASCII|ASCII value> is between 129 and 159. These correspond to characters in the <Windows> <character set> (code page 1252) that are not legal <HTML> entities.
Changes:
The lang attribute, and the ability to encode Unicode characters, was added in version 2.0.
References: URL (keyword), default (keyword), integer (keyword), field (keyword), string (keyword), foregroundColor (property), textSize (property), HTMLText (property), unicodeText (property), textShift (property), properties (property), linkText (property), mimeText (property), RTFText (property), backgroundColor (property), textFont (property), imageSource (property), dragData (property), textStyle (property), colorNames (function), charToNum (function), format (function), numToChar (function), negative (glossary), property (glossary), character set (glossary), HTML (glossary), Windows (glossary), control structure (glossary), hexadecimal (glossary), chunk (glossary), ASCII (glossary), format (glossary), encode (glossary), range (glossary), field (object)
Tags: text processing