|
|
@@ -94,7 +94,8 @@ func is_tab(b []byte, i int) bool {
|
|
|
|
|
|
// Check if the character at the specified position is blank (space or tab).
|
|
|
func is_blank(b []byte, i int) bool {
|
|
|
- return is_space(b, i) || is_tab(b, i)
|
|
|
+ //return is_space(b, i) || is_tab(b, i)
|
|
|
+ return b[i] == ' ' || b[i] == '\t'
|
|
|
}
|
|
|
|
|
|
// Check if the character at the specified position is a line break.
|
|
|
@@ -112,17 +113,43 @@ func is_crlf(b []byte, i int) bool {
|
|
|
|
|
|
// Check if the character is a line break or NUL.
|
|
|
func is_breakz(b []byte, i int) bool {
|
|
|
- return is_break(b, i) || b[i] == 0x00
|
|
|
+ //return is_break(b, i) || is_z(b, i)
|
|
|
+ return (// is_break:
|
|
|
+ b[i] == '\r' || // CR (#xD)
|
|
|
+ b[i] == '\n' || // LF (#xA)
|
|
|
+ b[i] == 0xC2 && b[i+1] == 0x85 || // NEL (#x85)
|
|
|
+ b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA8 || // LS (#x2028)
|
|
|
+ b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA9 || // PS (#x2029)
|
|
|
+ // is_z:
|
|
|
+ b[i] == 0)
|
|
|
}
|
|
|
|
|
|
// Check if the character is a line break, space, or NUL.
|
|
|
func is_spacez(b []byte, i int) bool {
|
|
|
- return is_space(b, i) || is_breakz(b, i)
|
|
|
+ //return is_space(b, i) || is_breakz(b, i)
|
|
|
+ return (// is_space:
|
|
|
+ b[i] == ' ' ||
|
|
|
+ // is_breakz:
|
|
|
+ b[i] == '\r' || // CR (#xD)
|
|
|
+ b[i] == '\n' || // LF (#xA)
|
|
|
+ b[i] == 0xC2 && b[i+1] == 0x85 || // NEL (#x85)
|
|
|
+ b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA8 || // LS (#x2028)
|
|
|
+ b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA9 || // PS (#x2029)
|
|
|
+ b[i] == 0)
|
|
|
}
|
|
|
|
|
|
// Check if the character is a line break, space, tab, or NUL.
|
|
|
func is_blankz(b []byte, i int) bool {
|
|
|
- return is_blank(b, i) || is_breakz(b, i)
|
|
|
+ //return is_blank(b, i) || is_breakz(b, i)
|
|
|
+ return (// is_blank:
|
|
|
+ b[i] == ' ' || b[i] == '\t' ||
|
|
|
+ // is_breakz:
|
|
|
+ b[i] == '\r' || // CR (#xD)
|
|
|
+ b[i] == '\n' || // LF (#xA)
|
|
|
+ b[i] == 0xC2 && b[i+1] == 0x85 || // NEL (#x85)
|
|
|
+ b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA8 || // LS (#x2028)
|
|
|
+ b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA9 || // PS (#x2029)
|
|
|
+ b[i] == 0)
|
|
|
}
|
|
|
|
|
|
// Determine the width of the character.
|