Code Duplication    Length = 82-82 lines in 2 locations

fpdf/chinese.php 1 location

@@ 233-314 (lines=82) @@
230
    parent::Write($h,$txt,$link);
231
}
232
233
function MBWrite($h,$txt,$link)
234
{
235
  //Multi-byte version of Write()
236
  $cw=&$this->CurrentFont['cw'];
237
  $w=$this->w-$this->rMargin-$this->x;
238
  $wmax=($w-2*$this->cMargin)*1000/$this->FontSize;
239
  $s=str_replace("\r",'',$txt);
240
  $nb=strlen($s);
241
  $sep=-1;
242
  $i=0;
243
  $j=0;
244
  $l=0;
245
  $nl=1;
246
  while($i<$nb)
247
  {
248
    //Get next character
249
    $c=$s[$i];
250
    //Check if ASCII or MB
251
    $ascii=(ord($c)<128);
252
    if($c=="\n")
253
    {
254
      //Explicit line break
255
      $this->Cell($w,$h,substr($s,$j,$i-$j),0,2,'',0,$link);
256
      $i++;
257
      $sep=-1;
258
      $j=$i;
259
      $l=0;
260
      if($nl==1)
261
      {
262
        $this->x=$this->lMargin;
263
        $w=$this->w-$this->rMargin-$this->x;
264
        $wmax=($w-2*$this->cMargin)*1000/$this->FontSize;
265
      }
266
      $nl++;
267
      continue;
268
    }
269
    if(!$ascii or $c==' ')
270
      $sep=$i;
271
    $l+=$ascii ? $cw[$c] : 1000;
272
    if($l>$wmax)
273
    {
274
      //Automatic line break
275
      if($sep==-1 or $i==$j)
276
      {
277
        if($this->x>$this->lMargin)
278
        {
279
          //Move to next line
280
          $this->x=$this->lMargin;
281
          $this->y+=$h;
282
          $w=$this->w-$this->rMargin-$this->x;
283
          $wmax=($w-2*$this->cMargin)*1000/$this->FontSize;
284
          $i++;
285
          $nl++;
286
          continue;
287
        }
288
        if($i==$j)
289
          $i+=$ascii ? 1 : 2;
290
        $this->Cell($w,$h,substr($s,$j,$i-$j),0,2,'',0,$link);
291
      }
292
      else
293
      {
294
        $this->Cell($w,$h,substr($s,$j,$sep-$j),0,2,'',0,$link);
295
        $i=($s[$sep]==' ') ? $sep+1 : $sep;
296
      }
297
      $sep=-1;
298
      $j=$i;
299
      $l=0;
300
      if($nl==1)
301
      {
302
        $this->x=$this->lMargin;
303
        $w=$this->w-$this->rMargin-$this->x;
304
        $wmax=($w-2*$this->cMargin)*1000/$this->FontSize;
305
      }
306
      $nl++;
307
    }
308
    else
309
      $i+=$ascii ? 1 : 2;
310
  }
311
  //Last chunk
312
  if($i!=$j)
313
    $this->Cell($l/1000*$this->FontSize,$h,substr($s,$j,$i-$j),0,0,'',0,$link);
314
}
315
316
function _putfonts()
317
{

fpdf/korean.php 1 location

@@ 203-284 (lines=82) @@
200
    parent::Write($h,$txt,$link);
201
}
202
203
function MBWrite($h,$txt,$link)
204
{
205
  //Multi-byte version of Write()
206
  $cw=&$this->CurrentFont['cw'];
207
  $w=$this->w-$this->rMargin-$this->x;
208
  $wmax=($w-2*$this->cMargin)*1000/$this->FontSize;
209
  $s=str_replace("\r",'',$txt);
210
  $nb=strlen($s);
211
  $sep=-1;
212
  $i=0;
213
  $j=0;
214
  $l=0;
215
  $nl=1;
216
  while($i<$nb)
217
  {
218
    //Get next character
219
    $c=$s[$i];
220
    //Check if ASCII or MB
221
    $ascii=(ord($c)<128);
222
    if($c=="\n")
223
    {
224
      //Explicit line break
225
      $this->Cell($w,$h,substr($s,$j,$i-$j),0,2,'',0,$link);
226
      $i++;
227
      $sep=-1;
228
      $j=$i;
229
      $l=0;
230
      if($nl==1)
231
      {
232
        $this->x=$this->lMargin;
233
        $w=$this->w-$this->rMargin-$this->x;
234
        $wmax=($w-2*$this->cMargin)*1000/$this->FontSize;
235
      }
236
      $nl++;
237
      continue;
238
    }
239
    if(!$ascii or $c==' ')
240
      $sep=$i;
241
    $l+=$ascii ? $cw[$c] : 1000;
242
    if($l>$wmax)
243
    {
244
      //Automatic line break
245
      if($sep==-1 or $i==$j)
246
      {
247
        if($this->x>$this->lMargin)
248
        {
249
          //Move to next line
250
          $this->x=$this->lMargin;
251
          $this->y+=$h;
252
          $w=$this->w-$this->rMargin-$this->x;
253
          $wmax=($w-2*$this->cMargin)*1000/$this->FontSize;
254
          $i++;
255
          $nl++;
256
          continue;
257
        }
258
        if($i==$j)
259
          $i+=$ascii ? 1 : 2;
260
        $this->Cell($w,$h,substr($s,$j,$i-$j),0,2,'',0,$link);
261
      }
262
      else
263
      {
264
        $this->Cell($w,$h,substr($s,$j,$sep-$j),0,2,'',0,$link);
265
        $i=($s[$sep]==' ') ? $sep+1 : $sep;
266
      }
267
      $sep=-1;
268
      $j=$i;
269
      $l=0;
270
      if($nl==1)
271
      {
272
        $this->x=$this->lMargin;
273
        $w=$this->w-$this->rMargin-$this->x;
274
        $wmax=($w-2*$this->cMargin)*1000/$this->FontSize;
275
      }
276
      $nl++;
277
    }
278
    else
279
      $i+=$ascii ? 1 : 2;
280
  }
281
  //Last chunk
282
  if($i!=$j)
283
    $this->Cell($l/1000*$this->FontSize,$h,substr($s,$j,$i-$j),0,0,'',0,$link);
284
}
285
286
function _putfonts()
287
{