Not logged in.  Login/Logout/Register | List snippets | | Create snippet | Upload image | Upload data

34
LINES

< > BotCompany Repo | #1006260 // ocr_parseGlyphs - see: ocr_escapeMeaning

JavaX fragment (include)

// Elements returned are still escaped
// " " is returned as a glyph
static L<S> ocr_parseGlyphs(S s) {
  new L<S> l;
  for i over s:
    if (s.charAt(i) == '\\' && i+1 < l(s)) { // parse escaped character
      l.add(substring(s, i, i+2));
      ++i;
    } else if (s.charAt(i) == '[') { // parse group
      int j = i+1;
      new StringBuilder buf;
      while (j < l(s) && s.charAt(j) != ']') {
        if (s.charAt(j) == '\\' && j+1 < l(s))
          buf.append(s.charAt(j++));
        buf.append(s.charAt(j++));
      }
      l.add(str(buf));
      i = j;
    } else if (s.charAt(i) == '{') { // parse symbol
      int j = i;
      new StringBuilder buf;
      while (j < l(s) && s.charAt(j) != '}') {
        if (s.charAt(j) == '\\' && j+1 < l(s))
          buf.append(s.charAt(j++));
        buf.append(s.charAt(j++));
      }
      if (j < l(s))
        buf.append(s.charAt(j));
      l.add(str(buf));
      i = j;
    } else
      l.add(substring(s, i, i+1));
  ret l;
}

Author comment

Began life as a copy of #1006254

download  show line numbers  debug dex  old transpilations   

Travelled to 14 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, gwrvuhgaqvyk, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, sawdedvomwva, tslmcundralx, tvejysmllsmz, vouqrxazstgt

No comments. add comment

Snippet ID: #1006260
Snippet name: ocr_parseGlyphs - see: ocr_escapeMeaning
Eternal ID of this version: #1006260/1
Text MD5: 7c9692dbec7bb9f5d5caea38e8522501
Author: stefan
Category: javax / ocr
Type: JavaX fragment (include)
Public (visible to everyone): Yes
Archived (hidden from active list): No
Created/modified: 2016-12-26 01:29:36
Source code size: 1013 bytes / 34 lines
Pitched / IR pitched: No / No
Views / Downloads: 476 / 504
Referenced in: #1006262 - ocr_unescape
#1006654 - Standard functions list 2 (LIVE, continuation of #761)