//#HTMLマークエスケープ
//<>&"などを<と言う形に変換
void MarkEscape(TX* text) {
BOOL bSelect = FALSE;
char hexh, hexl, c;
int CurPos;
//カーソル位置保存
CurPos = txGetAddress(text);
if (txSelectGetMode(text)) {
//選択範囲されていれば
bSelect = TRUE;
txWalkStart(text);
txJumpAddress(text, txGetAddressSelectTop(text));
} else {
//先頭にカーソル移動
txJumpPara(text,1);
}
//メインループ
while(!txIsCurEof(text)) {
if (bSelect && !txIsWalking(text)) break;
switch (txReadChar(text)) {
case '<':
txDeletePrev(text);
txInsert(text,"<");
break;
case '>':
txDeletePrev(text);
txInsert(text,">");
break;
case '&':
txDeletePrev(text);
txInsert(text,"&");
break;
case '"':
txDeletePrev(text);
txInsert(text,""");
break;
}
}
if (bSelect == TRUE) {
//選択範囲ウォーク終了
txWalkEnd(text);
}
//カーソル位置の復元
txJumpAddress(text, CurPos);
}