This function is called for every token encountered in the input text.
65 MyUserData *u = (MyUserData *)userData;
69 if (!strcmp(tag.getName(),
"p")) {
70 if (!tag.isEndTag()) {
71 buf +=
"{\\sb100\\fi200\\par}";
76 else if (!strcmp(tag.getName(),
"hi") || !strcmp(tag.getName(),
"emph")) {
77 SWBuf rend = tag.getAttribute(
"rend");
78 if ((!tag.isEndTag()) && (!tag.isEmpty())) {
79 if (rend ==
"italic" || rend ==
"ital")
81 else if (rend ==
"bold")
83 else if (rend ==
"super" || rend ==
"sup")
85 else if (rend ==
"sub")
88 else if (tag.isEndTag()) {
94 else if (!strcmp(tag.getName(),
"entryFree")) {
95 SWBuf n = tag.getAttribute(
"n");
96 if ((!tag.isEndTag()) && (!tag.isEmpty())) {
105 else if (!strcmp(tag.getName(),
"sense")) {
106 SWBuf n = tag.getAttribute(
"n");
107 if ((!tag.isEndTag()) && (!tag.isEmpty())) {
109 buf +=
"{\\sb100\\par\\b1 ";
117 else if (!strcmp(tag.getName(),
"orth")) {
118 if ((!tag.isEndTag()) && (!tag.isEmpty())) {
121 else if (tag.isEndTag()) {
127 else if (!strcmp(tag.getName(),
"div")) {
129 if ((!tag.isEndTag()) && (!tag.isEmpty())) {
130 buf.
append(
"{\\pard\\sa300}");
132 else if (tag.isEndTag()) {
137 else if (!strcmp(tag.getName(),
"pos") || !strcmp(tag.getName(),
"gen") || !strcmp(tag.getName(),
"case") || !strcmp(tag.getName(),
"gram") || !strcmp(tag.getName(),
"number") || !strcmp(tag.getName(),
"mood")) {
138 if ((!tag.isEndTag()) && (!tag.isEmpty())) {
141 else if (tag.isEndTag()) {
147 else if (!strcmp(tag.getName(),
"tr")) {
148 if ((!tag.isEndTag()) && (!tag.isEmpty())) {
151 else if (tag.isEndTag()) {
157 else if (!strcmp(tag.getName(),
"etym")) {
158 if ((!tag.isEndTag()) && (!tag.isEmpty())) {
161 else if (tag.isEndTag()) {
167 else if (!strcmp(tag.getName(),
"note")) {
168 if (!tag.isEndTag()) {
169 if (!tag.isEmpty()) {
170 SWBuf type = tag.getAttribute(
"type");
172 SWBuf footnoteNumber = tag.getAttribute(
"swordFootnote");
176 u->suspendTextPassThru =
true;
179 if (tag.isEndTag()) {
180 u->suspendTextPassThru =
false;
185 else if (!strcmp(tag.getName(),
"lb")) {
191 else if (!strcmp(tag.getName(),
"ref")) {
192 if (!tag.isEndTag() && tag.getAttribute(
"osisRef")) {
193 buf +=
"{<a href=\"\">";
196 else if (tag.isEndTag() && u->inOsisRef) {
198 u->inOsisRef =
false;
202 else if (!strcmp(tag.getName(),
"graphic")) {
203 const char *src = tag.getAttribute(
"url");
207 char* filepath =
new char[strlen(u->module->getConfigEntry(
"AbsoluteDataPath")) + strlen(token)];
210 strcat(filepath, src);
213 buf +=
"<img src=\"";
220 else if (!strcmp(tag.getName(),
"list")) {
221 if ((!tag.isEndTag()) && (!tag.isEmpty())) {
224 else if (tag.isEndTag()) {
226 u->supressAdjacentWhitespace =
true;
229 else if (!strcmp(tag.getName(),
"item")) {
230 if ((!tag.isEndTag()) && (!tag.isEmpty())) {
233 else if (tag.isEndTag()) {
SWBuf & appendFormatted(const char *format,...)
virtual const char * getConfigEntry(const char *key) const
bool substituteToken(SWBuf &buf, const char *token)
const char * c_str() const
SWBuf & append(const char *str, long max=-1)
bool supressAdjacentWhitespace