Feedback to Kingsoft Office/WPS Office for Linux.
191 posts Page 3 of 20
Previous 1, 2, 3, 4, 5, 6 ... 20 Next
hello everybody,
please download two files below:
https://docs.google.com/file/d/0B4Cl8vW ... sp=sharing
https://docs.google.com/file/d/0B4Cl8vW ... sp=sharing
arabic32.txt contains this word, (arabic33.wps does not contain it)
الأمامي
when you open arabic32.txt, it display wrong, missing something, but if you deleteالأمامي , it display ok.
anybody can tell me why?

Thanks
Ken
Hi Ken,
I did some tests on it, and it looks like the problem came from لأ which is the character ل unicode U+0644, followed by the character أ unicode U+0623. The combination of these two characters is actually a new character لأ unicode U+FEF7 (http://codepoints.net/U+FEF7) which is in "Arabic Presentation Forms B" table (http://en.wikipedia.org/wiki/Arabic_script_in_Unicode).
There are other ligatures such as: ﻵ ﻶ ﻷ ﻸ ﻹ ﻺ ﻻ ﻼ

Another problem you may check is that the word have to be fully writen in the same line. It means, when a word reach the end of line, it returns to new line.

Kingsoft-Office
Image

Libre-Office
Image

Cheers :)

Attachments

Karim wrote: Hi Ken,
I did some tests on it, and it looks like the problem came from لأ which is the character ل unicode U+0644, followed by the character أ unicode U+0623. The combination of these two characters is actually a new character لأ unicode U+FEF7 (http://codepoints.net/U+FEF7) which is in "Arabic Presentation Forms B" table (http://en.wikipedia.org/wiki/Arabic_script_in_Unicode).
There are other ligatures such as: ﻵ ﻶ ﻷ ﻸ ﻹ ﻺ ﻻ ﻼ

Another problem you may check is that the word have to be fully writen in the same line. It means, when a word reach the end of line, it returns to new line.

Kingsoft-Office
Image

Libre-Office
Image

Cheers :)


Hi Karim,
Thank you very much!
As you said, لأ caused the display problem. ( It is a combinated word, can you help to test whether other combinated words can cause this problem? ) i don't know why it caused this problem...
For the break line problem, i will investigate it!

Now, i really know how complex arabic is! It is a challenge for me!

Thank you very much again! ^_^
Ken
Karim wrote: Hi Ken,
I did some tests on it, and it looks like the problem came from لأ which is the character ل unicode U+0644, followed by the character أ unicode U+0623. The combination of these two characters is actually a new character لأ unicode U+FEF7 (http://codepoints.net/U+FEF7) which is in "Arabic Presentation Forms B" table (http://en.wikipedia.org/wiki/Arabic_script_in_Unicode).
There are other ligatures such as: ﻵ ﻶ ﻷ ﻸ ﻹ ﻺ ﻻ ﻼ

Another problem you may check is that the word have to be fully writen in the same line. It means, when a word reach the end of line, it returns to new line.

Kingsoft-Office
Image

Libre-Office
Image

Cheers :)


Hi Karim,
I have several problems need your help:
1. can you upload a wps file which was shown in your picture?
2. can you type sevaral words follow من , i want to check whether the first char follow whitespace can not display.
3. could you help to do a test for kashida.
4. could you help to do a test for combination words ( two characters represented by one glyph, one character represented by two glyph)

Thank you very much!
Ken
Hi Ken,
1- The file in the picture is named arabic_test (.wps, .doc)
2- several words which follow the word من . I think it is not displayed because it is preceded by the combined glyph لأ
3- The kashida is fine
4- There is a problem with tashkiil

For (2,3,4) you may look at legature_test.wps and arabic32.txt

Thank you for your effort :)

Attachments

Karim wrote: Hi Ken,
1- The file in the picture is named arabic_test (.wps, .doc)
2- several words which follow the word من . I think it is not displayed because it is preceded by the combined glyph لأ
3- The kashida is fine
4- There is a problem with tashkiil

For (2,3,4) you may look at legature_test.wps and arabic32.txt

Thank you for your effort :)


Hi Karim,
2. i fixed this bug, and thank you very much!
4. i will investigate it soon!

Thanks a lot again!
Ken
Hi Ken,
Sorry I didn't mention what's the problem with Tashkiil.

The problem is, when you add Tashkiil (diacritics) (http://en.wikipedia.org/wiki/Arabic_diacritics) we'll have the same issue as using the combined characters in one glyph. (some characters will not be shown)

In the pictures bellow, there are two sentences: the first without Tashkiil and second containss Tashkiil.
The pictures in the attachement are WPS Office in Windows and Ubuntu, and Libre Office in Ubuntu.

Thank you :)

Attachments

Karim wrote: Hi Ken,
Sorry I didn't mention what's the problem with Tashkiil.

The problem is, when you add Tashkiil (diacritics) (http://en.wikipedia.org/wiki/Arabic_diacritics) we'll have the same issue as using the combined characters in one glyph. (some characters will not be shown)

In the pictures bellow, there are two sentences: the first without Tashkiil and second containss Tashkiil.
The pictures in the attachement are WPS Office in Windows and Ubuntu, and Libre Office in Ubuntu.

Thank you :)


Dear Karim
I have fixed these bugs.
https://docs.google.com/file/d/0B4Cl8vW ... sp=sharing
Please help to test it.

Thanks very much!
Ken
ken i wrote:
arhsa wrote: Hi Ken
Nice to see your effort for Arabic support, I'm Indonesian but always write and read Arabic articles, WPS is great office suite and it's now supporting Arabic language.

I try Alpha 12 to write Arabic letter, it Ok, but for sentences there's a bug like your post. I haven't try Alpha 12 patch1 yet, still downloading it .

I request for placing RTL/LTR icon in toolbar to quick access.


Thanks a lot Ken
And thanks for all developers


Hi Arhsa,
you should download it from URL below:
https://docs.google.com/file/d/0B4Cl8vW ... sp=sharing
why do you need a RTL/LTR icon?

Thanks very much!
Ken


Hi Ken.
If I use ALT+Shift to change from English to Arabic, it's just change the writing language, but alignment and format still English. for one sentence or one line there's no problem, but for Arabic sentences more than line, it really problem. Yes I can change to align right as Arabic Language was began from right, but when I change it to justify, it keep English format from left. For Arabic it's really big problem.

how I fix this? without RTL/LTR icon, how to change from English to Arabic format?

I've download .deb trough your link, I installed it but can't be opened, in Ubuntu 12.04 and same problem in Linux Mint 14. anything missing?

Attachments

arhsa wrote:
ken i wrote:
arhsa wrote: Hi Ken
Nice to see your effort for Arabic support, I'm Indonesian but always write and read Arabic articles, WPS is great office suite and it's now supporting Arabic language.

I try Alpha 12 to write Arabic letter, it Ok, but for sentences there's a bug like your post. I haven't try Alpha 12 patch1 yet, still downloading it .

I request for placing RTL/LTR icon in toolbar to quick access.


Thanks a lot Ken
And thanks for all developers


Hi Arhsa,
you should download it from URL below:
https://docs.google.com/file/d/0B4Cl8vW ... sp=sharing
why do you need a RTL/LTR icon?

Thanks very much!
Ken


Hi Ken.
If I use ALT+Shift to change from English to Arabic, it's just change the writing language, but alignment and format still English. for one sentence or one line there's no problem, but for Arabic sentences more than line, it really problem. Yes I can change to align right as Arabic Language was began from right, but when I change it to justify, it keep English format from left. For Arabic it's really big problem.

how I fix this? without RTL/LTR icon, how to change from English to Arabic format?

I've download .deb trough your link, I installed it but can't be opened, in Ubuntu 12.04 and same problem in Linux Mint 14. anything missing?
(I used Windows version for this example)
Previous 1, 2, 3, 4, 5, 6 ... 20 Next
191 posts Page 3 of 20

Who is online

Users browsing this forum: No registered users and 1 guest

cron
EDT
express-debug
GET /viewtopic.phpCLOSE

res.locals

namevalue
title <meta charset="UTF-8" /> <meta name="keywords" content="" /> <meta name="description" content="" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"> <title>View topic - support complex text layout - WPS Office Community</title> <link rel="alternate" type="application/atom+xml" title="Feed - wps-community.org" href="http://wps-community.org/forum/feed.php" /><link rel="alternate" type="application/atom+xml" title="Feed - New Topics" href="http://wps-community.org/forum/feed.php?mode=topics" /><link rel="alternate" type="application/atom+xml" title="Feed - Forum - KSO/WPS for Linux" href="http://wps-community.org/forum/feed.php?f=4" /><link rel="alternate" type="application/atom+xml" title="Feed - Topic - support complex text layout" href="http://wps-community.org/forum/feed.php?f=4&amp;t=126" /> <!-- phpBB style name: ComBoot Free Based on style: prosilver (this is the default phpBB3 style) Original author: Tom Beddard ( http://www.subBlue.com/ ) Modified by: Florian Gareis (http://www.florian-gareis.de) Version: 1.0 --> <script type="text/javascript"> // <![CDATA[ var jump_page = 'Enter the page number you wish to go to:'; var on_page = '3'; var per_page = '10'; var base_url = './viewtopic.php?f=4&amp;t=126&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86'; var style_cookie = 'phpBBstyle'; var style_cookie_settings = '; path=/'; var onload_functions = new Array(); var onunload_functions = new Array(); /** * Find a member */ function find_username(url) { popup(url, 760, 570, '_usersearch'); return false; } /** * New function for handling multiple calls to window.onload and window.unload by pentapenguin */ window.onload = function() { for (var i = 0; i < onload_functions.length; i++) { eval(onload_functions[i]); } }; window.onunload = function() { for (var i = 0; i < onunload_functions.length; i++) { eval(onunload_functions[i]); } }; // ]]> </script> <script type="text/javascript" src="./styles/wps/template/styleswitcher.js"></script> <script type="text/javascript" src="./styles/wps/template/forum_fn.js"></script> <link href="./styles/wps/theme/print.css" rel="stylesheet" type="text/css" media="print" title="printonly" /> <!--link href="./style.php?id=2&amp;lang=en&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86" rel="stylesheet" type="text/css" media="screen, projection" /--> <link href="./styles/wps/theme/comboot/comboot.css" rel="stylesheet"/> <link href="./styles/wps/theme/comboot/colorpicker.min.css" rel="stylesheet"/> <link href="./styles/wps/theme/comboot/lightbox.css" rel="stylesheet"/> <link href="./styles/wps/theme/comboot/select.min.css" rel="stylesheet"/> <link href="./styles/wps/theme/comboot/syntax-highlighting.css" rel="stylesheet"/> <script src="./styles/wps/theme/comboot/jquery.min.js" type="text/javascript"></script> <script src="./styles/prosilver/template/editor.js" type="text/javascript" ></script> <script src="./styles/wps/theme/comboot/angular.min.js" type="text/javascript"></script> <script src="./styles/wps/theme/comboot/progressbar.min.js" type="text/javascript"></script> <script src="./styles/wps/theme/comboot/colorpicker.min.js" type="text/javascript"></script> <script src="./styles/wps/theme/comboot/lightbox.min.js" type="text/javascript"></script> <script src="./styles/wps/theme/comboot/select.min.js" type="text/javascript"></script> <script src="./styles/wps/theme/comboot/syntax-highlighting.js" type="text/javascript"></script> <script src="./styles/wps/theme/comboot/comboot.js" type="text/javascript"></script>
body <div class="row" style="margin-top: 20px"> <div class="col-md-9"> <div class="btn-group btn-breadcrumb"> <a href="./index.php?sid=3b7262f7db5ed1da96b3d2f97d726c86" accesskey="h" class="btn btn-primary" title="Board index"><i class="glyphicon glyphicon-home"></i></a> <a href="./viewforum.php?f=3&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86" class="btn btn-primary">Discussions and Feedbacks</a> <a href="./viewforum.php?f=4&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86" class="btn btn-primary">KSO/WPS for Linux</a> </div> </div> <div class="col-md-3 text-right"> <a href="./ucp.php?mode=login&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86" class="btn btn-sm btn-default" role="button" title="Login" accesskey="x"> Login as: <img src="./styles/wps/theme/images/google.svg" style="height: 1.4em;"/> </a> </div> </div> <div class="panel panel-default"> <div class="panel-body"> Feedback to Kingsoft Office/WPS Office for Linux. </div> </div> <div class="row"> <div class="col-md-12 text-center"> <div class="btn-group"> <span class="btn btn-default btn-sm disabled">191 posts</span> <a href="#" onclick="jumpto(); return false;" title="Click to jump to page…" class="btn btn-default btn-sm no-btn">Page <strong>3</strong> of <strong>20</strong></a> </div> </div> </div> <div class="row mobile-fix"> <div class="col-md-3"> <a class="btn btn-primary btn-labeled" href="./posting.php?mode=reply&amp;f=4&amp;t=126&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86" title="Post a reply"><span class="btn-label"><i class="fa fa-pencil-square-o"></i></span> Post a reply</a> </div> <div class="col-md-6 text-center"> <div class="btn-group topic-pagination"> <a href="./viewtopic.php?f=4&amp;t=126&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86&amp;start=10" class="btn btn-default btn-sm"><i class="fa fa-chevron-left"></i> Previous</a> <a href="./viewtopic.php?f=4&amp;t=126&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86">1</a><span class="page-sep">, </span><a href="./viewtopic.php?f=4&amp;t=126&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86&amp;start=10">2</a><span class="page-sep">, </span><strong>3</strong><span class="page-sep">, </span><a href="./viewtopic.php?f=4&amp;t=126&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86&amp;start=30">4</a><span class="page-sep">, </span><a href="./viewtopic.php?f=4&amp;t=126&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86&amp;start=40">5</a><span class="page-sep">, </span><a href="./viewtopic.php?f=4&amp;t=126&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86&amp;start=50">6</a><span class="page-dots"> ... </span><a href="./viewtopic.php?f=4&amp;t=126&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86&amp;start=190">20</a> <a href="./viewtopic.php?f=4&amp;t=126&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86&amp;start=30" class="btn btn-default btn-sm">Next <i class="fa fa-chevron-right"></i></a> </div> </div> <div class="col-md-3"> <form method="get" id="topic-search" action="./search.php?sid=3b7262f7db5ed1da96b3d2f97d726c86" class="form-search pull-right no-margin"> <div class="input-group"> <input class="input-medium form-control" type="text" name="keywords" id="search_keywords" size="20" placeholder="Search this topic…"/> <span class="input-group-btn"> <input type="hidden" name="t" value="126" /> <input type="hidden" name="sf" value="msgonly" /> <input type="hidden" name="sid" value="3b7262f7db5ed1da96b3d2f97d726c86" /> <button type="submit" class="btn btn-default">Search</button> </span> </div> </form> </div> </div> <div class="clearfix"></div> <div id="p892"> <div class="panel panel-primary"> <div class="panel-heading"> <h3 class="panel-title first pull-left"><a href="#p892">Re: support complex text layout</a></h3> <div class="clearfix"></div> </div> <div class="panel-body no-padding badger-left badger-danger" data-badger="OFFLINE"> <div class="row no-margin"> <div class="col-md-3 col-xs-12 post-info post-info-left"> <dl id="profile892" class="no-margin-xs"> <dt class="avatar text-center rounded"> <a href="./memberlist.php?mode=viewprofile&amp;u=123&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86"><img src="https://lh3.googleusercontent.com/-XdUIqdMkCWA/AAAAAAAAAAI/AAAAAAAAAAA/4252rscbv5M/photo.jpg" width="128" height="128" alt="User avatar" /></a><br /> </dt> <dd class="text-center"> <a href="./memberlist.php?mode=viewprofile&amp;u=123&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86" style="color: #000099;" class="username-coloured">ken i</a> </dd> <dd class="text-center"><span class="badge">Official Developer</span></dd> </dl> <dl class="hidden-xs"> <dt> <hr/> </dt> <dd><strong>Posts:</strong> 60</dd><dd><strong>Joined:</strong> Mon Jul 08, 2013 2:16 am</dd> </dl> </div> <div class="col-md-9 col-xs-12 post-content post-content-right"> <div class="row post-head hidden-xs no-margin-bottom"> <div class="col-md-6 col-xs-6 author"> by <strong><a href="./memberlist.php?mode=viewprofile&amp;u=123&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86" style="color: #000099;" class="username-coloured">ken i</a></strong> &raquo; Mon Oct 07, 2013 4:02 am </div> <div class="col-md-6 col-xs-6 no-padding"> </div> </div> <div class="content"> hello everybody,<br />please download two files below:<br /><!-- m --><a class="postlink" href="https://docs.google.com/file/d/0B4Cl8vWwYSH_Q3BnWmRGR1pzcEk/edit?usp=sharing">https://docs.google.com/file/d/0B4Cl8vW ... sp=sharing</a><!-- m --><br /><!-- m --><a class="postlink" href="https://docs.google.com/file/d/0B4Cl8vWwYSH_aEtrTzYwaXk2dVU/edit?usp=sharing">https://docs.google.com/file/d/0B4Cl8vW ... sp=sharing</a><!-- m --><br />arabic32.txt contains this word, (arabic33.wps does not contain it)<br />الأمامي<br />when you open arabic32.txt, it display wrong, missing something, but if you deleteالأمامي , it display ok.<br />anybody can tell me why?<br /><br />Thanks<br />Ken </div> </div> </div> </div> <div class="panel-footer post-footer"> <div class="to-top pull-right"><a href="#content-wrapper" class="top" title="Top"><i class="fa fa-chevron-up"></i></a></div> </div> </div> </div> <div id="p917"> <div class="panel panel-primary"> <div class="panel-heading"> <h3 class="panel-title pull-left"><a href="#p917">Re: support complex text layout</a></h3> <div class="clearfix"></div> </div> <div class="panel-body no-padding badger-left badger-danger" data-badger="OFFLINE"> <div class="row no-margin"> <div class="col-md-3 col-xs-12 post-info post-info-left"> <dl id="profile917" class="no-margin-xs"> <dt class="avatar text-center rounded"> <a href="./memberlist.php?mode=viewprofile&amp;u=198&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86"><img src="https://lh4.googleusercontent.com/-El6bQ7vpzEI/AAAAAAAAAAI/AAAAAAAAAD8/oHJ7bjBWwKE/photo.jpg" width="128" height="128" alt="User avatar" /></a><br /> </dt> <dd class="text-center"> <a href="./memberlist.php?mode=viewprofile&amp;u=198&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86">Karim</a> </dd> </dl> <dl class="hidden-xs"> <dt> <hr/> </dt> <dd><strong>Posts:</strong> 14</dd><dd><strong>Joined:</strong> Tue Aug 13, 2013 2:29 pm</dd><dd><strong>Location:</strong> Algeria</dd> </dl> </div> <div class="col-md-9 col-xs-12 post-content post-content-right"> <div class="row post-head hidden-xs no-margin-bottom"> <div class="col-md-6 col-xs-6 author"> by <strong><a href="./memberlist.php?mode=viewprofile&amp;u=198&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86">Karim</a></strong> &raquo; Wed Oct 09, 2013 1:02 pm </div> <div class="col-md-6 col-xs-6 no-padding"> </div> </div> <div class="content"> Hi Ken,<br />I did some tests on it, and it looks like the problem came from لأ which is the character ل unicode U+0644, followed by the character أ unicode U+0623. The combination of these two characters is actually a new character لأ unicode U+FEF7 (<!-- m --><a class="postlink" href="http://codepoints.net/U+FEF7">http://codepoints.net/U+FEF7</a><!-- m -->) which is in &quot;Arabic Presentation Forms B&quot; table (<!-- m --><a class="postlink" href="http://en.wikipedia.org/wiki/Arabic_script_in_Unicode">http://en.wikipedia.org/wiki/Arabic_script_in_Unicode</a><!-- m -->).<br />There are other ligatures such as: ﻵ ﻶ ﻷ ﻸ ﻹ ﻺ ﻻ ﻼ<br /><br />Another problem you may check is that the word have to be fully writen in the same line. It means, when a word reach the end of line, it returns to new line.<br /><br />Kingsoft-Office<br /><img src="http://wps-community.org/forum/download/file.php?mode=view&amp;id=106&amp;sid=033da9b56d5dd39367f5e614de29e3a5" alt="Image" /><br /><br />Libre-Office<br /><img src="http://wps-community.org/forum/download/file.php?mode=view&amp;id=107&amp;sid=033da9b56d5dd39367f5e614de29e3a5" alt="Image" /><br /><br />Cheers <img src="./images/smilies/icon_e_smile.gif" alt=":)" title="Smile" /> </div> <div class="panel panel-default attachbox panel-collapsible"> <div class="panel-heading"> <h3 class="panel-title">Attachments</h3> <span class="pull-right panel-right clickable panel-collapsed"><i class="fa fa-chevron-down"></i></span> </div> <div class="panel-body" style="display:none"> <dl class="thumbnail"> <dt><a href="./download/file.php?id=107&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86&amp;mode=view"><img src="./download/file.php?id=107&amp;t=1&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86" alt="libre.png" title="libre.png (61.93 KiB) Viewed 39265 times" /></a></dt> </dl> <dl class="thumbnail"> <dt><a href="./download/file.php?id=106&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86&amp;mode=view"><img src="./download/file.php?id=106&amp;t=1&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86" alt="kingsoft.png" title="kingsoft.png (56.66 KiB) Viewed 39265 times" /></a></dt> </dl> </div> </div> </div> </div> </div> <div class="panel-footer post-footer"> <div class="to-top pull-right"><a href="#content-wrapper" class="top" title="Top"><i class="fa fa-chevron-up"></i></a></div> </div> </div> </div> <div id="p923"> <div class="panel panel-primary"> <div class="panel-heading"> <h3 class="panel-title pull-left"><a href="#p923">Re: support complex text layout</a></h3> <div class="clearfix"></div> </div> <div class="panel-body no-padding badger-left badger-danger" data-badger="OFFLINE"> <div class="row no-margin"> <div class="col-md-3 col-xs-12 post-info post-info-left"> <dl id="profile923" class="no-margin-xs"> <dt class="avatar text-center rounded"> <a href="./memberlist.php?mode=viewprofile&amp;u=123&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86"><img src="https://lh3.googleusercontent.com/-XdUIqdMkCWA/AAAAAAAAAAI/AAAAAAAAAAA/4252rscbv5M/photo.jpg" width="128" height="128" alt="User avatar" /></a><br /> </dt> <dd class="text-center"> <a href="./memberlist.php?mode=viewprofile&amp;u=123&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86" style="color: #000099;" class="username-coloured">ken i</a> </dd> <dd class="text-center"><span class="badge">Official Developer</span></dd> </dl> <dl class="hidden-xs"> <dt> <hr/> </dt> <dd><strong>Posts:</strong> 60</dd><dd><strong>Joined:</strong> Mon Jul 08, 2013 2:16 am</dd> </dl> </div> <div class="col-md-9 col-xs-12 post-content post-content-right"> <div class="row post-head hidden-xs no-margin-bottom"> <div class="col-md-6 col-xs-6 author"> by <strong><a href="./memberlist.php?mode=viewprofile&amp;u=123&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86" style="color: #000099;" class="username-coloured">ken i</a></strong> &raquo; Thu Oct 10, 2013 1:32 am </div> <div class="col-md-6 col-xs-6 no-padding"> </div> </div> <div class="content"> <blockquote><div><cite>Karim wrote: </cite>Hi Ken,<br />I did some tests on it, and it looks like the problem came from لأ which is the character ل unicode U+0644, followed by the character أ unicode U+0623. The combination of these two characters is actually a new character لأ unicode U+FEF7 (<!-- m --><a class="postlink" href="http://codepoints.net/U+FEF7">http://codepoints.net/U+FEF7</a><!-- m -->) which is in &quot;Arabic Presentation Forms B&quot; table (<!-- m --><a class="postlink" href="http://en.wikipedia.org/wiki/Arabic_script_in_Unicode">http://en.wikipedia.org/wiki/Arabic_script_in_Unicode</a><!-- m -->).<br />There are other ligatures such as: ﻵ ﻶ ﻷ ﻸ ﻹ ﻺ ﻻ ﻼ<br /><br />Another problem you may check is that the word have to be fully writen in the same line. It means, when a word reach the end of line, it returns to new line.<br /><br />Kingsoft-Office<br /><img src="http://wps-community.org/forum/download/file.php?mode=view&amp;id=106&amp;sid=033da9b56d5dd39367f5e614de29e3a5" alt="Image" /><br /><br />Libre-Office<br /><img src="http://wps-community.org/forum/download/file.php?mode=view&amp;id=107&amp;sid=033da9b56d5dd39367f5e614de29e3a5" alt="Image" /><br /><br />Cheers <img src="./images/smilies/icon_e_smile.gif" alt=":)" title="Smile" /></div></blockquote><br /><br />Hi Karim,<br /> Thank you very much! <br />As you said, لأ caused the display problem. ( It is a combinated word, can you help to test whether other combinated words can cause this problem? ) i don't know why it caused this problem...<br />For the break line problem, i will investigate it!<br /><br />Now, i really know how complex arabic is! It is a challenge for me!<br /><br />Thank you very much again! ^_^<br />Ken </div> </div> </div> </div> <div class="panel-footer post-footer"> <div class="to-top pull-right"><a href="#content-wrapper" class="top" title="Top"><i class="fa fa-chevron-up"></i></a></div> </div> </div> </div> <div id="p925"> <div class="panel panel-primary"> <div class="panel-heading"> <h3 class="panel-title pull-left"><a href="#p925">Re: support complex text layout</a></h3> <div class="clearfix"></div> </div> <div class="panel-body no-padding badger-left badger-danger" data-badger="OFFLINE"> <div class="row no-margin"> <div class="col-md-3 col-xs-12 post-info post-info-left"> <dl id="profile925" class="no-margin-xs"> <dt class="avatar text-center rounded"> <a href="./memberlist.php?mode=viewprofile&amp;u=123&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86"><img src="https://lh3.googleusercontent.com/-XdUIqdMkCWA/AAAAAAAAAAI/AAAAAAAAAAA/4252rscbv5M/photo.jpg" width="128" height="128" alt="User avatar" /></a><br /> </dt> <dd class="text-center"> <a href="./memberlist.php?mode=viewprofile&amp;u=123&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86" style="color: #000099;" class="username-coloured">ken i</a> </dd> <dd class="text-center"><span class="badge">Official Developer</span></dd> </dl> <dl class="hidden-xs"> <dt> <hr/> </dt> <dd><strong>Posts:</strong> 60</dd><dd><strong>Joined:</strong> Mon Jul 08, 2013 2:16 am</dd> </dl> </div> <div class="col-md-9 col-xs-12 post-content post-content-right"> <div class="row post-head hidden-xs no-margin-bottom"> <div class="col-md-6 col-xs-6 author"> by <strong><a href="./memberlist.php?mode=viewprofile&amp;u=123&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86" style="color: #000099;" class="username-coloured">ken i</a></strong> &raquo; Thu Oct 10, 2013 3:12 am </div> <div class="col-md-6 col-xs-6 no-padding"> </div> </div> <div class="content"> <blockquote><div><cite>Karim wrote: </cite>Hi Ken,<br />I did some tests on it, and it looks like the problem came from لأ which is the character ل unicode U+0644, followed by the character أ unicode U+0623. The combination of these two characters is actually a new character لأ unicode U+FEF7 (<!-- m --><a class="postlink" href="http://codepoints.net/U+FEF7">http://codepoints.net/U+FEF7</a><!-- m -->) which is in &quot;Arabic Presentation Forms B&quot; table (<!-- m --><a class="postlink" href="http://en.wikipedia.org/wiki/Arabic_script_in_Unicode">http://en.wikipedia.org/wiki/Arabic_script_in_Unicode</a><!-- m -->).<br />There are other ligatures such as: ﻵ ﻶ ﻷ ﻸ ﻹ ﻺ ﻻ ﻼ<br /><br />Another problem you may check is that the word have to be fully writen in the same line. It means, when a word reach the end of line, it returns to new line.<br /><br />Kingsoft-Office<br /><img src="http://wps-community.org/forum/download/file.php?mode=view&amp;id=106&amp;sid=033da9b56d5dd39367f5e614de29e3a5" alt="Image" /><br /><br />Libre-Office<br /><img src="http://wps-community.org/forum/download/file.php?mode=view&amp;id=107&amp;sid=033da9b56d5dd39367f5e614de29e3a5" alt="Image" /><br /><br />Cheers <img src="./images/smilies/icon_e_smile.gif" alt=":)" title="Smile" /></div></blockquote><br /><br />Hi Karim,<br />I have several problems need your help:<br />1. can you upload a wps file which was shown in your picture?<br />2. can you type sevaral words follow من , i want to check whether the first char follow whitespace can not display.<br />3. could you help to do a test for kashida.<br />4. could you help to do a test for combination words ( two characters represented by one glyph, one character represented by two glyph)<br /><br />Thank you very much!<br />Ken </div> </div> </div> </div> <div class="panel-footer post-footer"> <div class="to-top pull-right"><a href="#content-wrapper" class="top" title="Top"><i class="fa fa-chevron-up"></i></a></div> </div> </div> </div> <div id="p928"> <div class="panel panel-primary"> <div class="panel-heading"> <h3 class="panel-title pull-left"><a href="#p928">Re: support complex text layout</a></h3> <div class="clearfix"></div> </div> <div class="panel-body no-padding badger-left badger-danger" data-badger="OFFLINE"> <div class="row no-margin"> <div class="col-md-3 col-xs-12 post-info post-info-left"> <dl id="profile928" class="no-margin-xs"> <dt class="avatar text-center rounded"> <a href="./memberlist.php?mode=viewprofile&amp;u=198&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86"><img src="https://lh4.googleusercontent.com/-El6bQ7vpzEI/AAAAAAAAAAI/AAAAAAAAAD8/oHJ7bjBWwKE/photo.jpg" width="128" height="128" alt="User avatar" /></a><br /> </dt> <dd class="text-center"> <a href="./memberlist.php?mode=viewprofile&amp;u=198&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86">Karim</a> </dd> </dl> <dl class="hidden-xs"> <dt> <hr/> </dt> <dd><strong>Posts:</strong> 14</dd><dd><strong>Joined:</strong> Tue Aug 13, 2013 2:29 pm</dd><dd><strong>Location:</strong> Algeria</dd> </dl> </div> <div class="col-md-9 col-xs-12 post-content post-content-right"> <div class="row post-head hidden-xs no-margin-bottom"> <div class="col-md-6 col-xs-6 author"> by <strong><a href="./memberlist.php?mode=viewprofile&amp;u=198&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86">Karim</a></strong> &raquo; Thu Oct 10, 2013 11:13 am </div> <div class="col-md-6 col-xs-6 no-padding"> </div> </div> <div class="content"> Hi Ken,<br />1- The file in the picture is named arabic_test (.wps, .doc)<br />2- several words which follow the word من . I think it is not displayed because it is preceded by the combined glyph لأ<br />3- The kashida is fine <br />4- There is a problem with tashkiil <br /><br />For (2,3,4) you may look at legature_test.wps and arabic32.txt<br /><br />Thank you for your effort <img src="./images/smilies/icon_e_smile.gif" alt=":)" title="Smile" /> </div> <div class="panel panel-default attachbox panel-collapsible"> <div class="panel-heading"> <h3 class="panel-title">Attachments</h3> <span class="pull-right panel-right clickable panel-collapsed"><i class="fa fa-chevron-down"></i></span> </div> <div class="panel-body" style="display:none"> <dl class="file"> <dt><img src="./styles/wps/imageset/icon_topic_attach.gif" width="7" height="10" alt="" title="" /> <a class="postlink" href="./download/file.php?id=108&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86">wps_test.zip</a></dt> <dd>(8.28 KiB) Downloaded 649 times</dd> </dl> </div> </div> </div> </div> </div> <div class="panel-footer post-footer"> <div class="to-top pull-right"><a href="#content-wrapper" class="top" title="Top"><i class="fa fa-chevron-up"></i></a></div> </div> </div> </div> <div id="p937"> <div class="panel panel-primary"> <div class="panel-heading"> <h3 class="panel-title pull-left"><a href="#p937">Re: support complex text layout</a></h3> <div class="clearfix"></div> </div> <div class="panel-body no-padding badger-left badger-danger" data-badger="OFFLINE"> <div class="row no-margin"> <div class="col-md-3 col-xs-12 post-info post-info-left"> <dl id="profile937" class="no-margin-xs"> <dt class="avatar text-center rounded"> <a href="./memberlist.php?mode=viewprofile&amp;u=123&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86"><img src="https://lh3.googleusercontent.com/-XdUIqdMkCWA/AAAAAAAAAAI/AAAAAAAAAAA/4252rscbv5M/photo.jpg" width="128" height="128" alt="User avatar" /></a><br /> </dt> <dd class="text-center"> <a href="./memberlist.php?mode=viewprofile&amp;u=123&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86" style="color: #000099;" class="username-coloured">ken i</a> </dd> <dd class="text-center"><span class="badge">Official Developer</span></dd> </dl> <dl class="hidden-xs"> <dt> <hr/> </dt> <dd><strong>Posts:</strong> 60</dd><dd><strong>Joined:</strong> Mon Jul 08, 2013 2:16 am</dd> </dl> </div> <div class="col-md-9 col-xs-12 post-content post-content-right"> <div class="row post-head hidden-xs no-margin-bottom"> <div class="col-md-6 col-xs-6 author"> by <strong><a href="./memberlist.php?mode=viewprofile&amp;u=123&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86" style="color: #000099;" class="username-coloured">ken i</a></strong> &raquo; Fri Oct 11, 2013 7:09 am </div> <div class="col-md-6 col-xs-6 no-padding"> </div> </div> <div class="content"> <blockquote><div><cite>Karim wrote: </cite>Hi Ken,<br />1- The file in the picture is named arabic_test (.wps, .doc)<br />2- several words which follow the word من . I think it is not displayed because it is preceded by the combined glyph لأ<br />3- The kashida is fine <br />4- There is a problem with tashkiil <br /><br />For (2,3,4) you may look at legature_test.wps and arabic32.txt<br /><br />Thank you for your effort <img src="./images/smilies/icon_e_smile.gif" alt=":)" title="Smile" /></div></blockquote><br /><br />Hi Karim,<br />2. i fixed this bug, and thank you very much!<br />4. i will investigate it soon!<br /><br />Thanks a lot again!<br />Ken </div> </div> </div> </div> <div class="panel-footer post-footer"> <div class="to-top pull-right"><a href="#content-wrapper" class="top" title="Top"><i class="fa fa-chevron-up"></i></a></div> </div> </div> </div> <div id="p941"> <div class="panel panel-primary"> <div class="panel-heading"> <h3 class="panel-title pull-left"><a href="#p941">Re: support complex text layout</a></h3> <div class="clearfix"></div> </div> <div class="panel-body no-padding badger-left badger-danger" data-badger="OFFLINE"> <div class="row no-margin"> <div class="col-md-3 col-xs-12 post-info post-info-left"> <dl id="profile941" class="no-margin-xs"> <dt class="avatar text-center rounded"> <a href="./memberlist.php?mode=viewprofile&amp;u=198&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86"><img src="https://lh4.googleusercontent.com/-El6bQ7vpzEI/AAAAAAAAAAI/AAAAAAAAAD8/oHJ7bjBWwKE/photo.jpg" width="128" height="128" alt="User avatar" /></a><br /> </dt> <dd class="text-center"> <a href="./memberlist.php?mode=viewprofile&amp;u=198&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86">Karim</a> </dd> </dl> <dl class="hidden-xs"> <dt> <hr/> </dt> <dd><strong>Posts:</strong> 14</dd><dd><strong>Joined:</strong> Tue Aug 13, 2013 2:29 pm</dd><dd><strong>Location:</strong> Algeria</dd> </dl> </div> <div class="col-md-9 col-xs-12 post-content post-content-right"> <div class="row post-head hidden-xs no-margin-bottom"> <div class="col-md-6 col-xs-6 author"> by <strong><a href="./memberlist.php?mode=viewprofile&amp;u=198&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86">Karim</a></strong> &raquo; Fri Oct 11, 2013 10:42 am </div> <div class="col-md-6 col-xs-6 no-padding"> </div> </div> <div class="content"> Hi Ken,<br />Sorry I didn't mention what's the problem with Tashkiil.<br /><br />The problem is, when you add Tashkiil (diacritics) (<!-- m --><a class="postlink" href="http://en.wikipedia.org/wiki/Arabic_diacritics">http://en.wikipedia.org/wiki/Arabic_diacritics</a><!-- m -->) we'll have the same issue as using the combined characters in one glyph. (some characters will not be shown)<br /><br />In the pictures bellow, there are two sentences: the first without Tashkiil and second containss Tashkiil.<br />The pictures in the attachement are WPS Office in Windows and Ubuntu, and Libre Office in Ubuntu.<br /><br />Thank you <img src="./images/smilies/icon_e_smile.gif" alt=":)" title="Smile" /> </div> <div class="panel panel-default attachbox panel-collapsible"> <div class="panel-heading"> <h3 class="panel-title">Attachments</h3> <span class="pull-right panel-right clickable panel-collapsed"><i class="fa fa-chevron-down"></i></span> </div> <div class="panel-body" style="display:none"> <dl class="thumbnail"> <dt><a href="./download/file.php?id=112&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86&amp;mode=view"><img src="./download/file.php?id=112&amp;t=1&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86" alt="wps_tashkiil_win.png" title="wps_tashkiil_win.png (28.08 KiB) Viewed 39245 times" /></a></dt> <dd> WPS Office Windows</dd> </dl> <dl class="thumbnail"> <dt><a href="./download/file.php?id=111&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86&amp;mode=view"><img src="./download/file.php?id=111&amp;t=1&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86" alt="wps_tashkiil.png" title="wps_tashkiil.png (55.92 KiB) Viewed 39245 times" /></a></dt> <dd> WPS Office Ubuntu</dd> </dl> <dl class="thumbnail"> <dt><a href="./download/file.php?id=110&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86&amp;mode=view"><img src="./download/file.php?id=110&amp;t=1&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86" alt="libre_tashkiil.png" title="libre_tashkiil.png (59.72 KiB) Viewed 39245 times" /></a></dt> <dd> Libre Office Ubuntu</dd> </dl> </div> </div> </div> </div> </div> <div class="panel-footer post-footer"> <div class="to-top pull-right"><a href="#content-wrapper" class="top" title="Top"><i class="fa fa-chevron-up"></i></a></div> </div> </div> </div> <div id="p961"> <div class="panel panel-primary"> <div class="panel-heading"> <h3 class="panel-title pull-left"><a href="#p961">Re: support complex text layout</a></h3> <div class="clearfix"></div> </div> <div class="panel-body no-padding badger-left badger-danger" data-badger="OFFLINE"> <div class="row no-margin"> <div class="col-md-3 col-xs-12 post-info post-info-left"> <dl id="profile961" class="no-margin-xs"> <dt class="avatar text-center rounded"> <a href="./memberlist.php?mode=viewprofile&amp;u=123&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86"><img src="https://lh3.googleusercontent.com/-XdUIqdMkCWA/AAAAAAAAAAI/AAAAAAAAAAA/4252rscbv5M/photo.jpg" width="128" height="128" alt="User avatar" /></a><br /> </dt> <dd class="text-center"> <a href="./memberlist.php?mode=viewprofile&amp;u=123&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86" style="color: #000099;" class="username-coloured">ken i</a> </dd> <dd class="text-center"><span class="badge">Official Developer</span></dd> </dl> <dl class="hidden-xs"> <dt> <hr/> </dt> <dd><strong>Posts:</strong> 60</dd><dd><strong>Joined:</strong> Mon Jul 08, 2013 2:16 am</dd> </dl> </div> <div class="col-md-9 col-xs-12 post-content post-content-right"> <div class="row post-head hidden-xs no-margin-bottom"> <div class="col-md-6 col-xs-6 author"> by <strong><a href="./memberlist.php?mode=viewprofile&amp;u=123&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86" style="color: #000099;" class="username-coloured">ken i</a></strong> &raquo; Fri Oct 18, 2013 1:03 am </div> <div class="col-md-6 col-xs-6 no-padding"> </div> </div> <div class="content"> <blockquote><div><cite>Karim wrote: </cite>Hi Ken,<br />Sorry I didn't mention what's the problem with Tashkiil.<br /><br />The problem is, when you add Tashkiil (diacritics) (<!-- m --><a class="postlink" href="http://en.wikipedia.org/wiki/Arabic_diacritics">http://en.wikipedia.org/wiki/Arabic_diacritics</a><!-- m -->) we'll have the same issue as using the combined characters in one glyph. (some characters will not be shown)<br /><br />In the pictures bellow, there are two sentences: the first without Tashkiil and second containss Tashkiil.<br />The pictures in the attachement are WPS Office in Windows and Ubuntu, and Libre Office in Ubuntu.<br /><br />Thank you <img src="./images/smilies/icon_e_smile.gif" alt=":)" title="Smile" /></div></blockquote><br /><br />Dear Karim<br />I have fixed these bugs.<br /><!-- m --><a class="postlink" href="https://docs.google.com/file/d/0B4Cl8vWwYSH_elhuSGlIdHNxRTQ/edit?usp=sharing">https://docs.google.com/file/d/0B4Cl8vW ... sp=sharing</a><!-- m --><br />Please help to test it.<br /><br />Thanks very much!<br />Ken </div> </div> </div> </div> <div class="panel-footer post-footer"> <div class="to-top pull-right"><a href="#content-wrapper" class="top" title="Top"><i class="fa fa-chevron-up"></i></a></div> </div> </div> </div> <div id="p985"> <div class="panel panel-primary"> <div class="panel-heading"> <h3 class="panel-title pull-left"><a href="#p985">Re: support complex text layout</a></h3> <div class="clearfix"></div> </div> <div class="panel-body no-padding badger-left badger-danger" data-badger="OFFLINE"> <div class="row no-margin"> <div class="col-md-3 col-xs-12 post-info post-info-left"> <dl id="profile985" class="no-margin-xs"> <dt class="avatar text-center rounded"> <a href="./memberlist.php?mode=viewprofile&amp;u=262&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86"><img src="https://lh4.googleusercontent.com/-sPErV8kx4Lw/AAAAAAAAAAI/AAAAAAAABlc/fjO33f2EFPY/photo.jpg" width="128" height="128" alt="User avatar" /></a><br /> </dt> <dd class="text-center"> <a href="./memberlist.php?mode=viewprofile&amp;u=262&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86">arhsa</a> </dd> </dl> <dl class="hidden-xs"> <dt> <hr/> </dt> <dd><strong>Posts:</strong> 12</dd><dd><strong>Joined:</strong> Wed Sep 25, 2013 8:02 am</dd> </dl> </div> <div class="col-md-9 col-xs-12 post-content post-content-right"> <div class="row post-head hidden-xs no-margin-bottom"> <div class="col-md-6 col-xs-6 author"> by <strong><a href="./memberlist.php?mode=viewprofile&amp;u=262&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86">arhsa</a></strong> &raquo; Mon Oct 21, 2013 2:34 pm </div> <div class="col-md-6 col-xs-6 no-padding"> </div> </div> <div class="content"> <blockquote><div><cite>ken i wrote: </cite><blockquote><div><cite>arhsa wrote: </cite>Hi Ken <br />Nice to see your effort for Arabic support, I'm Indonesian but always write and read Arabic articles, WPS is great office suite and it's now supporting Arabic language. <br /><br />I try Alpha 12 to write Arabic letter, it Ok, but for sentences there's a bug like your post. I haven't try Alpha 12 patch1 yet, still downloading it . <br /><br />I request for placing RTL/LTR icon in toolbar to quick access.<br /><br /><br />Thanks a lot Ken<br />And thanks for all developers</div></blockquote><br /><br />Hi Arhsa,<br />you should download it from URL below:<br /><!-- m --><a class="postlink" href="https://docs.google.com/file/d/0B4Cl8vWwYSH_T21OSmNVdkNVTGM/edit?usp=sharing">https://docs.google.com/file/d/0B4Cl8vW ... sp=sharing</a><!-- m --><br />why do you need a RTL/LTR icon? <br /><br />Thanks very much!<br />Ken</div></blockquote><br /><br />Hi Ken.<br />If I use ALT+Shift to change from English to Arabic, it's just change the writing language, but alignment and format still English. for one sentence or one line there's no problem, but for Arabic sentences more than line, it really problem. Yes I can change to align right as Arabic Language was began from right, but when I change it to justify, it keep English format from left. For Arabic it's really big problem. <br /><br />how I fix this? without RTL/LTR icon, how to change from English to Arabic format?<br /><br />I've download .deb trough your link, I installed it but can't be opened, in Ubuntu 12.04 and same problem in Linux Mint 14. anything missing? </div> <div class="panel panel-default attachbox panel-collapsible"> <div class="panel-heading"> <h3 class="panel-title">Attachments</h3> <span class="pull-right panel-right clickable panel-collapsed"><i class="fa fa-chevron-down"></i></span> </div> <div class="panel-body" style="display:none"> <dl class="thumbnail"> <dt><a href="./download/file.php?id=120&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86&amp;mode=view"><img src="./download/file.php?id=120&amp;t=1&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86" alt="arabic.jpg" title="arabic.jpg (51.18 KiB) Viewed 39127 times" /></a></dt> </dl> </div> </div> </div> </div> </div> <div class="panel-footer post-footer"> <div class="to-top pull-right"><a href="#content-wrapper" class="top" title="Top"><i class="fa fa-chevron-up"></i></a></div> </div> </div> </div> <div id="p986"> <div class="panel panel-primary"> <div class="panel-heading"> <h3 class="panel-title pull-left"><a href="#p986">Re: support complex text layout</a></h3> <div class="clearfix"></div> </div> <div class="panel-body no-padding badger-left badger-danger" data-badger="OFFLINE"> <div class="row no-margin"> <div class="col-md-3 col-xs-12 post-info post-info-left"> <dl id="profile986" class="no-margin-xs"> <dt class="avatar text-center rounded"> <a href="./memberlist.php?mode=viewprofile&amp;u=262&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86"><img src="https://lh4.googleusercontent.com/-sPErV8kx4Lw/AAAAAAAAAAI/AAAAAAAABlc/fjO33f2EFPY/photo.jpg" width="128" height="128" alt="User avatar" /></a><br /> </dt> <dd class="text-center"> <a href="./memberlist.php?mode=viewprofile&amp;u=262&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86">arhsa</a> </dd> </dl> <dl class="hidden-xs"> <dt> <hr/> </dt> <dd><strong>Posts:</strong> 12</dd><dd><strong>Joined:</strong> Wed Sep 25, 2013 8:02 am</dd> </dl> </div> <div class="col-md-9 col-xs-12 post-content post-content-right"> <div class="row post-head hidden-xs no-margin-bottom"> <div class="col-md-6 col-xs-6 author"> by <strong><a href="./memberlist.php?mode=viewprofile&amp;u=262&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86">arhsa</a></strong> &raquo; Mon Oct 21, 2013 2:38 pm </div> <div class="col-md-6 col-xs-6 no-padding"> </div> </div> <div class="content"> <blockquote><div><cite>arhsa wrote: </cite><blockquote><div><cite>ken i wrote: </cite><blockquote><div><cite>arhsa wrote: </cite>Hi Ken <br />Nice to see your effort for Arabic support, I'm Indonesian but always write and read Arabic articles, WPS is great office suite and it's now supporting Arabic language. <br /><br />I try Alpha 12 to write Arabic letter, it Ok, but for sentences there's a bug like your post. I haven't try Alpha 12 patch1 yet, still downloading it . <br /><br />I request for placing RTL/LTR icon in toolbar to quick access.<br /><br /><br />Thanks a lot Ken<br />And thanks for all developers</div></blockquote><br /><br />Hi Arhsa,<br />you should download it from URL below:<br /><!-- m --><a class="postlink" href="https://docs.google.com/file/d/0B4Cl8vWwYSH_T21OSmNVdkNVTGM/edit?usp=sharing">https://docs.google.com/file/d/0B4Cl8vW ... sp=sharing</a><!-- m --><br />why do you need a RTL/LTR icon? <br /><br />Thanks very much!<br />Ken</div></blockquote><br /><br />Hi Ken.<br />If I use ALT+Shift to change from English to Arabic, it's just change the writing language, but alignment and format still English. for one sentence or one line there's no problem, but for Arabic sentences more than line, it really problem. Yes I can change to align right as Arabic Language was began from right, but when I change it to justify, it keep English format from left. For Arabic it's really big problem. <br /><br />how I fix this? without RTL/LTR icon, how to change from English to Arabic format?<br /><br />I've download .deb trough your link, I installed it but can't be opened, in Ubuntu 12.04 and same problem in Linux Mint 14. anything missing?<br />(I used Windows version for this example) <br /></div></blockquote> </div> </div> </div> </div> <div class="panel-footer post-footer"> <div class="to-top pull-right"><a href="#content-wrapper" class="top" title="Top"><i class="fa fa-chevron-up"></i></a></div> </div> </div> </div> <div class="row mobile-fix"> <div class="col-md-3"> <a class="btn btn-primary btn-labeled" href="./posting.php?mode=reply&amp;f=4&amp;t=126&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86" title="Post a reply"><span class="btn-label"><i class="fa fa-pencil-square-o"></i></span> Post a reply</a> </div> <div class="col-md-6 text-center"> <div class="btn-group topic-pagination"> <a href="./viewtopic.php?f=4&amp;t=126&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86&amp;start=10" class="btn btn-default btn-sm"><i class="fa fa-chevron-left"></i> Previous</a> <a href="./viewtopic.php?f=4&amp;t=126&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86">1</a><span class="page-sep">, </span><a href="./viewtopic.php?f=4&amp;t=126&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86&amp;start=10">2</a><span class="page-sep">, </span><strong>3</strong><span class="page-sep">, </span><a href="./viewtopic.php?f=4&amp;t=126&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86&amp;start=30">4</a><span class="page-sep">, </span><a href="./viewtopic.php?f=4&amp;t=126&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86&amp;start=40">5</a><span class="page-sep">, </span><a href="./viewtopic.php?f=4&amp;t=126&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86&amp;start=50">6</a><span class="page-dots"> ... </span><a href="./viewtopic.php?f=4&amp;t=126&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86&amp;start=190">20</a> <a href="./viewtopic.php?f=4&amp;t=126&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86&amp;start=30" class="btn btn-default btn-sm">Next <i class="fa fa-chevron-right"></i></a> </div> </div> <div class="col-md-3"> <form method="get" id="topic-search" action="./search.php?sid=3b7262f7db5ed1da96b3d2f97d726c86" class="form-search pull-right no-margin"> <div class="input-group"> <input class="input-medium form-control" type="text" name="keywords" id="search_keywords" size="20" placeholder="Search this topic…"/> <span class="input-group-btn"> <input type="hidden" name="t" value="126" /> <input type="hidden" name="sf" value="msgonly" /> <input type="hidden" name="sid" value="3b7262f7db5ed1da96b3d2f97d726c86" /> <button type="submit" class="btn btn-default">Search</button> </span> </div> </form> </div> </div> <div class="row"> <div class="col-md-12 text-center"> <div class="btn-group"> <span class="btn btn-default btn-sm disabled">191 posts</span> <a href="#" onclick="jumpto(); return false;" title="Click to jump to page…" class="btn btn-default btn-sm no-btn">Page <strong>3</strong> of <strong>20</strong></a> </div> </div> </div> <div class="well well-sm text-center"> <form id="viewtopic" method="post" action="./viewtopic.php?f=4&amp;t=126&amp;start=20&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86"> <fieldset class="display-options"> <label>Display posts from previous: <select name="st" id="st"><option value="0" selected="selected">All posts</option><option value="1">1 day</option><option value="7">7 days</option><option value="14">2 weeks</option><option value="30">1 month</option><option value="90">3 months</option><option value="180">6 months</option><option value="365">1 year</option></select></label> <label>Sort by <select name="sk" id="sk"><option value="a">Author</option><option value="t" selected="selected">Post time</option><option value="s">Subject</option></select></label> <label><select name="sd" id="sd"><option value="a" selected="selected">Ascending</option><option value="d">Descending</option></select> <input type="submit" name="sort" value="Go" class="btn btn-default" /></label> </fieldset> </form> </div> <div class="jumpbox"> <div class="panel panel-default"> <div class="panel-body"> <div class="row no-margin-bottom"> <div class="col-md-6"> <a href="./viewforum.php?f=4&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86" class="btn btn-default" accesskey="r">Return to KSO/WPS for Linux</a> </div> <div class="col-md-6"> <form method="post" id="jumpbox" action="./viewforum.php?sid=3b7262f7db5ed1da96b3d2f97d726c86" onsubmit="if(this.f.value == -1){return false;}" class="pull-right"> <fieldset class="jumpbox"> <label for="f" accesskey="j">Jump to:</label> <select name="f" id="f" onchange="if(this.options[this.selectedIndex].value != -1){ document.forms['jumpbox'].submit() }"> <option value="-1">Select a forum</option> <option value="-1">------------------</option> <option value="26">Announcements</option> <option value="28">&nbsp; &nbsp;Announcements</option> <option value="3">Discussions and Feedbacks</option> <option value="4" selected="selected">&nbsp; &nbsp;KSO/WPS for Linux</option> <option value="22">&nbsp; &nbsp;KSO/WPS for Windows/Android/iOS</option> <option value="29">&nbsp; &nbsp;Development</option> <option value="16">&nbsp; &nbsp;Free Postings</option> <option value="7">Tracking</option> <option value="10">&nbsp; &nbsp;Bug Tracking</option> <option value="34">&nbsp; &nbsp;&nbsp; &nbsp;Accepted(We will fix it as soon as possible)</option> <option value="30">&nbsp; &nbsp;&nbsp; &nbsp;Solved(will be released in next version or patch)</option> <option value="31">&nbsp; &nbsp;&nbsp; &nbsp;Closed(Confirmed or not a problem)</option> <option value="32">&nbsp; &nbsp;Feature Request</option> <option value="33">&nbsp; &nbsp;&nbsp; &nbsp;Accepted</option> <option value="35">&nbsp; &nbsp;&nbsp; &nbsp;Closed</option> <option value="18">Non-English Regions</option> <option value="19">&nbsp; &nbsp;中文讨论区</option> </select> <input class="btn btn-default" type="submit" value="Go" /> </fieldset> </form> </div> </div> </div> </div> </div><div class="panel panel-info"> <div class="panel-heading"> <h3 class="panel-title"><i class="fa fa-globe"></i> Who is online</h3> </div> <div class="panel-body"> <p>Users browsing this forum: No registered users and 1 guest</p> </div> </div><div id="page-footer" class="footer-padding"> <div class="row"> <div class="col-md-2 pull-right"> <div class="btn-group dropup pull-right"> <a class="btn btn-default dropdown-toggle" data-toggle="dropdown" href="#" style=" display: block; "> <i class="fa fa-wrench"></i> <span class="caret"></span> </a> <ul class="dropdown-menu"> <li><a href="./search.php?search_id=unanswered&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86">View unanswered posts</a></li> <li><a href="./search.php?search_id=active_topics&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86">View active topics</a></li> </ul> </div> <br /> </div> </div> <div class="text-center"><p>Powered by <a href="http://www.phpbb.com/">phpBB</a>&reg; Forum Software &copy; phpBB Group </p> </div> </div> </div> <nav class="navbar navbar-default navbar-fixed-bottom hidden-sm hidden-xs" id="footer-nav" role="navigation"> <div class="container"> <div class="collapse navbar-collapse"> <ul class="nav navbar-nav"> <li><a href="./memberlist.php?mode=leaders&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86"><i class="fa fa-users"></i> The team</a></li><li><a href="./ucp.php?mode=delete_cookies&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86"><i class="fa fa-trash-o"></i> Delete all board cookies</a> </li> <li><p class="navbar-text">All times are UTC </p></li> </ul> </div> </div> </nav> <a id="back-to-top" href="#" class="btn btn-primary" role="button" title="" data-toggle="tooltip" data-placement="left"><i class="fa fa-chevron-up"></i></a> <a id="bottom" accesskey="z"></a> <img src="./cron.php?cron_type=tidy_sessions&amp;sid=3b7262f7db5ed1da96b3d2f97d726c86" width="1" height="1" alt="cron" />
_locals
namevalue
controllercgi
actioncgi.forum

app.locals

namevalue
settings
namevalue
x-powered-bytrue
etagweak
etag fnargs: 2, fn name: wetag
function wetag(body, encoding){
  var buf = !Buffer.isBuffer(body)
    ? new Buffer(body, encoding)
    : body;

  return etag(buf, {weak: true});
}
envdevelopment
query parserextended
query parser fnargs: 1, fn name: parseExtendedQueryString
function parseExtendedQueryString(str) {
  return qs.parse(str, {
    allowDots: false,
    allowPrototypes: true
  });
}
subdomain offset2
trust proxy
indexvalue
0127.0.0.1/8
1::1/128
2169.254.0.0/16
3fe80::/10
410.0.0.0/8
5172.16.0.0/12
6192.168.0.0/16
7fc00::/7
trust proxy fnargs: 1, fn name: trust
function trust(addr) {
    if (!isip(addr)) return false;

    var ip = parseip(addr);
    var ipv4;
    var kind = ip.kind();
    var subnet;
    var subnetip;
    var subnetkind;
    var subnetrange;
    var trusted;

    for (var i = 0; i < subnets.length; i++) {
      subnet = subnets[i];
      subnetip = subnet[0];
      subnetkind = subnetip.kind();
      subnetrange = subnet[1];
      trusted = ip;

      if (kind !== subnetkind) {
        if (kind !== 'ipv6' || subnetkind !== 'ipv4' || !ip.isIPv4MappedAddress()) {
          continue;
        }

        // Store addr as IPv4
        ipv4 = ipv4 || ip.toIPv4Address();
        trusted = ipv4;
      }

      if (trusted.match(subnetip, subnetrange)) return true;
    }

    return false;
  }
viewargs: 2, fn name: View
function View(name, options) {
  var opts = options || {};

  this.defaultEngine = opts.defaultEngine;
  this.ext = extname(name);
  this.name = name;
  this.root = opts.root;

  if (!this.ext && !this.defaultEngine) {
    throw new Error('No default engine was specified and no extension was provided.');
  }

  var fileName = name;

  if (!this.ext) {
    // get extension from default engine name
    this.ext = this.defaultEngine[0] !== '.'
      ? '.' + this.defaultEngine
      : this.defaultEngine;

    fileName += this.ext;
  }

  if (!opts.engines[this.ext]) {
    // load engine
    opts.engines[this.ext] = require(this.ext.substr(1)).__express;
  }

  // store loaded engine
  this.engine = opts.engines[this.ext];

  // lookup path
  this.path = this.lookup(fileName);
}
views/var/www/v2/app/views
jsonp callback namecallback
view enginejade
basedir/var/www/v2/app/views

req

namevalue
readablefalse
domain
namevalue
domainnull
_events
namevalue
errorargs: 1, fn name:
function (e) {
    next(e);
  }
_maxListenersundefined
members
indexvalue
0
namevalue
_readableState(Depth exceeded; max depth: 4)
readablefalse
domain(Depth exceeded; max depth: 4)
_events(Depth exceeded; max depth: 4)
_maxListenersundefined
socket(Depth exceeded; max depth: 4)
connection(Depth exceeded; max depth: 4)
httpVersionMajor1
httpVersionMinor0
httpVersion1.0
completetrue
headers(Depth exceeded; max depth: 4)
rawHeaders(Depth exceeded; max depth: 4)
trailers{ }
rawTrailers[ ]
_pendings[ ]
_pendingIndex0
upgradefalse
url/viewtopic.php?f=4&t=126&start=20
methodGET
statusCodenull
statusMessagenull
client(Depth exceeded; max depth: 4)
_consumingtrue
_dumpedfalse
EDT{ }
nextargs: 1, fn name: next
function next(err) {
    var layerError = err === 'route'
      ? null
      : err;

    // remove added slash
    if (slashAdded) {
      req.url = req.url.substr(1);
      slashAdded = false;
    }

    // restore altered req.url
    if (removed.length !== 0) {
      req.baseUrl = parentUrl;
      req.url = protohost + removed + req.url.substr(protohost.length);
      removed = '';
    }

    // no more matching layers
    if (idx >= stack.length) {
      setImmediate(done, layerError);
      return;
    }

    // get pathname of request
    var path = getPathname(req);

    if (path == null) {
      return done(layerError);
    }

    // find next matching layer
    var layer;
    var match;
    var route;

    while (match !== true && idx < stack.length) {
      layer = stack[idx++];
      match = matchLayer(layer, path);
      route = layer.route;

      if (typeof match !== 'boolean') {
        // hold on to layerError
        layerError = layerError || match;
      }

      if (match !== true) {
        continue;
      }

      if (!route) {
        // process non-route handlers normally
        continue;
      }

      if (layerError) {
        // routes do not match with a pending error
        match = false;
        continue;
      }

      var method = req.method;
      var has_method = route._handles_method(method);

      // build up automatic options response
      if (!has_method && method === 'OPTIONS') {
        appendMethods(options, route._options());
      }

      // don't even bother matching route
      if (!has_method && method !== 'HEAD') {
        match = false;
        continue;
      }
    }

    // no match
    if (match !== true) {
      return done(layerError);
    }

    // store route for dispatch on change
    if (route) {
      req.route = route;
    }

    // Capture one-time layer values
    req.params = self.mergeParams
      ? mergeParams(layer.params, parentParams)
      : layer.params;
    var layerPath = layer.path;

    // this should be done for the layer
    self.process_params(layer, paramcalled, req, res, function (err) {
      if (err) {
        return next(layerError || err);
      }

      if (route) {
        return layer.handle_request(req, res, next);
      }

      trim_prefix(layer, layerError, layerPath, path);
    });
  }
baseUrl/forum
originalUrl/forum/viewtopic.php?f=4&t=126&start=20
_parsedUrl(Depth exceeded; max depth: 4)
params{ }
query(Depth exceeded; max depth: 4)
res(Depth exceeded; max depth: 4)
_parsedOriginalUrl(Depth exceeded; max depth: 4)
rawBody(Depth exceeded; max depth: 4)
rawBodyDonetrue
rawBodyChipundefined
readargs: 1, fn name:
function (n) {
  debug('read', n);
  var state = this._readableState;
  var nOrig = n;

  if (!util.isNumber(n) || n > 0)
    state.emittedReadable = false;

  // if we're doing read(0) to trigger a readable event, but we
  // already have a bunch of data in the buffer, then just trigger
  // the 'readable' event and move on.
  if (n === 0 &&
      state.needReadable &&
      (state.length >= state.highWaterMark || state.ended)) {
    debug('read: emitReadable', state.length, state.ended);
    if (state.length === 0 && state.ended)
      endReadable(this);
    else
      emitReadable(this);
    return null;
  }

  n = howMuchToRead(n, state);

  // if we've ended, and we're now clear, then finish it up.
  if (n === 0 && state.ended) {
    if (state.length === 0)
      endReadable(this);
    return null;
  }

  // All the actual chunk generation logic needs to be
  // *below* the call to _read.  The reason is that in certain
  // synthetic stream cases, such as passthrough streams, _read
  // may be a completely synchronous operation which may change
  // the state of the read buffer, providing enough data when
  // before there was *not* enough.
  //
  // So, the steps are:
  // 1. Figure out what the state of things will be after we do
  // a read from the buffer.
  //
  // 2. If that resulting state will trigger a _read, then call _read.
  // Note that this may be asynchronous, or synchronous.  Yes, it is
  // deeply ugly to write APIs this way, but that still doesn't mean
  // that the Readable class should behave improperly, as streams are
  // designed to be sync/async agnostic.
  // Take note if the _read call is sync or async (ie, if the read call
  // has returned yet), so that we know whether or not it's safe to emit
  // 'readable' etc.
  //
  // 3. Actually pull the requested chunks out of the buffer and return.

  // if we need a readable event, then we need to do some reading.
  var doRead = state.needReadable;
  debug('need readable', doRead);

  // if we currently have less than the highWaterMark, then also read some
  if (state.length === 0 || state.length - n < state.highWaterMark) {
    doRead = true;
    debug('length less than watermark', doRead);
  }

  // however, if we've ended, then there's no point, and if we're already
  // reading, then it's unnecessary.
  if (state.ended || state.reading) {
    doRead = false;
    debug('reading or ended', doRead);
  }

  if (doRead) {
    debug('do read');
    state.reading = true;
    state.sync = true;
    // if the length is currently zero, then we *need* a readable event.
    if (state.length === 0)
      state.needReadable = true;
    // call internal read method
    this._read(state.highWaterMark);
    state.sync = false;
  }

  // If _read pushed data synchronously, then `reading` will be false,
  // and we need to re-evaluate how much data we can return to the user.
  if (doRead && !state.reading)
    n = howMuchToRead(nOrig, state);

  var ret;
  if (n > 0)
    ret = fromList(n, state);
  else
    ret = null;

  if (util.isNull(ret)) {
    state.needReadable = true;
    n = 0;
  }

  state.length -= n;

  // If we have nothing in the buffer, then we want to know
  // as soon as we *do* get something into the buffer.
  if (state.length === 0 && !state.ended)
    state.needReadable = true;

  // If we tried to read() past the EOF, then emit end on the next tick.
  if (nOrig !== n && state.ended && state.length === 0)
    endReadable(this);

  if (!util.isNull(ret))
    this.emit('data', ret);

  return ret;
}
1
namevalue
domain(Depth exceeded; max depth: 4)
_events(Depth exceeded; max depth: 4)
_maxListenersundefined
output[ ]
outputEncodings[ ]
outputCallbacks[ ]
writabletrue
_lastfalse
chunkedEncodingfalse
shouldKeepAlivefalse
useChunkedEncodingByDefaultfalse
sendDatetrue
_removedHeader{ }
_hasBodytrue
_trailer
finishedfalse
_hangupClosefalse
_headerSentfalse
socket(Depth exceeded; max depth: 4)
connection(Depth exceeded; max depth: 4)
_headernull
_headers(Depth exceeded; max depth: 4)
_headerNames(Depth exceeded; max depth: 4)
req(Depth exceeded; max depth: 4)
locals(Depth exceeded; max depth: 4)
_EDT_orig_renderargs: 3, fn name: render
function render(view, options, callback) {
  var app = this.req.app;
  var done = callback;
  var opts = options || {};
  var req = this.req;
  var self = this;

  // support callback function as second arg
  if (typeof options === 'function') {
    done = options;
    opts = {};
  }

  // merge res.locals
  opts._locals = self.locals;

  // default callback to respond
  done = done || function (err, str) {
    if (err) return req.next(err);
    self.send(str);
  };

  // render
  app.render(view, opts, done);
}
renderargs: 3, fn name:
function (view, options, fn) {
        options = options || {};

        var res = this,
            req = this.req,
            app = this.app,
            accept = req.headers.accept || '';


        var finalize = function (err, str) {
            // keep existing callback if one was passed
            if (typeof fn === 'function') {
                fn(err, str);
            } else if (err) {
                req.next(err);
            } else {
                res.send(str);
            }
        };

        panels.finalize(req);

        // support callback function as second arg
        if (typeof options === 'function') {
            fn = options;
            options = {};
        }

        // merge res.locals
        options._locals = res.locals;

        var render_toolbar = function (str, callback) {
            var standalone = settings.path === req.path;
            var opts = {
                EDTsettings: settings,
                theme:       theme,
                req:         req,
                standalone:  standalone,
                extra_attrs: settings.extra_attrs,
                panels:      panels.render({
                    locals: options,
                    app:    app,
                    res:    res,
                    req:    req,
                    view:   view
                }, settings, standalone)
            };

            jade.renderFile(template, opts, function (err, toolbar) {
                callback(err, err ? undefined : utils.inject_toolbar(str, toolbar));
            });
        };

        var toolbar_callback = function (err, str) {
            panels.post_render(req);

            if (err) {
                console.log(err);
                req.next(err);

            } else if (res.EDT_rendered) {
                // if callback method was used, more than one template may be rendered.
                // in this care, do not render another copy
                // TODO: see if we can catch this on the last render, and attach it in .send instead
                finalize(err, str);

            } else {
                res.EDT_rendered = true;
                render_toolbar(str, finalize);
            }
        };

        panels.pre_render(req);
        if (req.path.indexOf(settings.path) === 0) {
            // standalone mode
            jade.renderFile(fullpage, function (err, str) {
                toolbar_callback(err, str);
            });

        } else {
            // inject toolbar callback into render callback
            res._EDT_orig_render.call(res, view, options, toolbar_callback);
        }
    }
_EDT_orig_sendargs: 1, fn name: send
function send(body) {
  var chunk = body;
  var encoding;
  var len;
  var req = this.req;
  var type;

  // settings
  var app = this.app;

  // allow status / body
  if (arguments.length === 2) {
    // res.send(body, status) backwards compat
    if (typeof arguments[0] !== 'number' && typeof arguments[1] === 'number') {
      deprecate('res.send(body, status): Use res.status(status).send(body) instead');
      this.statusCode = arguments[1];
    } else {
      deprecate('res.send(status, body): Use res.status(status).send(body) instead');
      this.statusCode = arguments[0];
      chunk = arguments[1];
    }
  }

  // disambiguate res.send(status) and res.send(status, num)
  if (typeof chunk === 'number' && arguments.length === 1) {
    // res.send(status) will set status message as text string
    if (!this.get('Content-Type')) {
      this.type('txt');
    }

    deprecate('res.send(status): Use res.sendStatus(status) instead');
    this.statusCode = chunk;
    chunk = statusCodes[chunk];
  }

  switch (typeof chunk) {
    // string defaulting to html
    case 'string':
      if (!this.get('Content-Type')) {
        this.type('html');
      }
      break;
    case 'boolean':
    case 'number':
    case 'object':
      if (chunk === null) {
        chunk = '';
      } else if (Buffer.isBuffer(chunk)) {
        if (!this.get('Content-Type')) {
          this.type('bin');
        }
      } else {
        return this.json(chunk);
      }
      break;
  }

  // write strings in utf-8
  if (typeof chunk === 'string') {
    encoding = 'utf8';
    type = this.get('Content-Type');

    // reflect this in content-type
    if (typeof type === 'string') {
      this.set('Content-Type', setCharset(type, 'utf-8'));
    }
  }

  // populate Content-Length
  if (chunk !== undefined) {
    if (!Buffer.isBuffer(chunk)) {
      // convert chunk to Buffer; saves later double conversions
      chunk = new Buffer(chunk, encoding);
      encoding = undefined;
    }

    len = chunk.length;
    this.set('Content-Length', len);
  }

  // populate ETag
  var etag;
  var generateETag = len !== undefined && app.get('etag fn');
  if (typeof generateETag === 'function' && !this.get('ETag')) {
    if ((etag = generateETag(chunk, encoding))) {
      this.set('ETag', etag);
    }
  }

  // freshness
  if (req.fresh) this.statusCode = 304;

  // strip irrelevant headers
  if (204 == this.statusCode || 304 == this.statusCode) {
    this.removeHeader('Content-Type');
    this.removeHeader('Content-Length');
    this.removeHeader('Transfer-Encoding');
    chunk = '';
  }

  if (req.method === 'HEAD') {
    // skip body for HEAD
    this.end();
  } else {
    // respond
    this.end(chunk, encoding);
  }

  return this;
}
sendargs: 0, fn name:
function () {
        if (this.EDT_rendered !== true) {
            request.add(this.req, arguments);
        }
        this._EDT_orig_send.apply(this, arguments);
    }
EDT_renderedtrue
id1571145139098
httpVersionMajor1
httpVersionMinor0
httpVersion1.0
completetrue
headers
namevalue
user-agentCCBot/2.0 (https://commoncrawl.org/faq/)
accepttext/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
accept-languageen-US,en;q=0.5
hostwps-community.org
accept-encodinggzip
x-forwarded-for34.204.173.45
x-hostwps-community.org
x-forwarded-protohttp
rawHeaders
indexvalue
0User-Agent
1CCBot/2.0 (https://commoncrawl.org/faq/)
2Accept
3text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
4Accept-Language
5en-US,en;q=0.5
6Host
7wps-community.org
8Accept-Encoding
9gzip
10X-Forwarded-For
1134.204.173.45
12X-Host
13wps-community.org
14X-Forwarded-Proto
15http
trailers{ }
rawTrailers[ ]
upgradefalse
url/viewtopic.php?f=4&t=126&start=20
methodGET
statusCodenull
statusMessagenull
EDT{ }
baseUrl/forum
originalUrl/forum/viewtopic.php?f=4&t=126&start=20
_parsedUrl
namevalue
protocolnull
slashesnull
authnull
hostnull
portnull
hostnamenull
hashnull
search?f=4&t=126&start=20
queryf=4&t=126&start=20
pathname/viewtopic.php
path/viewtopic.php?f=4&t=126&start=20
href/viewtopic.php?f=4&t=126&start=20
_raw/viewtopic.php?f=4&t=126&start=20
params{ }
query
namevalue
f4
t126
start20
_parsedOriginalUrl
namevalue
protocolnull
slashesnull
authnull
hostnull
portnull
hostnamenull
hashnull
search?f=4&t=126&start=20
queryf=4&t=126&start=20
pathname/forum/viewtopic.php
path/forum/viewtopic.php?f=4&t=126&start=20
href/forum/viewtopic.php?f=4&t=126&start=20
_raw/forum/viewtopic.php?f=4&t=126&start=20
rawBody
namevalue
length0
parentundefined
rawBodyDonetrue
rawBodyChipundefined

session

namevalue

Templatecgi/forum

extends /layouts/application.jade

block title
  != title

block content
  != body

block footer
  

info

namevalue
async
namevalue
version1.3.0
author
namevalue
nameCaolan McMahon
devDependencies
namevalue
benchmarkgithub:bestiejs/benchmark.js
coveralls^2.11.2
jshint~2.8.0
lodash^3.9.0
mkdirp~0.5.1
nodeunit>0.0.0
nyc^2.1.0
uglify-js~2.4.0
xyz^0.5.0
yargs~3.9.1
repository
namevalue
typegit
urlgit+https://github.com/caolan/async.git
homepagehttps://github.com/caolan/async#readme
bugs
namevalue
urlhttps://github.com/caolan/async/issues
licenseMIT
bower
namevalue
version1.4.1
author
namevalue
nameTwitter
dependencies
namevalue
abbrev^1.0.5
archy1.0.0
bower-config^0.6.1
bower-endpoint-parser^0.2.2
bower-json^0.4.0
bower-logger^0.2.2
bower-registry-client^0.3.0
cardinal0.4.4
chalk^1.0.0
chmodr0.1.0
configstore^0.3.2
decompress-zip^0.1.0
fstream^1.0.3
fstream-ignore^1.0.2
github^0.2.3
glob^4.3.2
graceful-fs^3.0.5
handlebars^2.0.0
inquirer0.8.0
insight^0.5.0
is-root^1.0.0
junk^1.0.0
lockfile^1.0.0
lru-cache^2.5.0
mkdirp0.5.0
mout^0.11.0
nopt^3.0.1
opn^1.0.1
p-throttler0.1.1
promptly0.2.0
q^1.1.2
request2.53.0
request-progress0.3.1
retry0.6.1
rimraf^2.2.8
semver^2.3.0
shell-quote^1.4.2
stringify-object^1.0.0
tar-fs^1.4.1
tmp0.0.24
update-notifier^0.3.0
user-home^1.1.0
which^1.0.8
devDependencies
namevalue
chai^1.10.0
coveralls^2.11.2
expect.js^0.3.1
grunt^0.4.5
grunt-cli^0.1.13
grunt-contrib-jshint^0.10.0
grunt-contrib-watch^0.6.1
grunt-exec^0.4.6
grunt-simple-mocha^0.4.0
istanbul^0.3.5
load-grunt-tasks^2.0.0
mocha^2.1.0
multiline^1.0.2
nock^0.56.0
node-uuid^1.4.2
proxyquire^1.3.0
spawn-sync^1.0.5
repository
namevalue
typegit
urlhttps://github.com/bower/bower
homepagehttp://bower.io
bugs
namevalue
urlhttps://github.com/bower/bower/issues
licenses
indexvalue
0
namevalue
typeMIT
urlhttps://github.com/bower/bower/blob/master/LICENSE
bin
namevalue
bowerbin/bower
continue.js
namevalue
version1.1.0
author
namevalue
nameChizhong Jin
emailjinchizhong@kingsoft.com
dependencies
namevalue
promise^7.0.3
repository
namevalue
typegit
urlhttps://github.com/jinchizhong/continue
homepagehttps://github.com/jinchizhong/continue
bugs
namevalue
urlhttps://github.com/jinchizhong/continue/issues
licenseBSD-3-Clause
express
namevalue
version4.13.1
author
namevalue
nameTJ Holowaychuk
emailtj@vision-media.ca
dependencies
namevalue
accepts~1.2.10
array-flatten1.1.0
content-disposition0.5.0
content-type~1.0.1
cookie0.1.3
cookie-signature1.0.6
debug~2.2.0
depd~1.0.1
escape-html1.0.2
etag~1.7.0
finalhandler0.4.0
fresh0.3.0
merge-descriptors1.0.0
methods~1.1.1
on-finished~2.3.0
parseurl~1.3.0
path-to-regexp0.1.6
proxy-addr~1.0.8
qs4.0.0
range-parser~1.0.2
send0.13.0
serve-static~1.10.0
type-is~1.6.4
vary~1.0.0
utils-merge1.0.0
devDependencies
namevalue
after0.8.1
ejs2.3.2
istanbul0.3.9
marked0.3.3
mocha2.2.5
should7.0.1
supertest1.0.1
body-parser~1.13.2
connect-redis~2.3.0
cookie-parser~1.3.5
cookie-session~1.2.0
express-session~1.11.3
jade~1.11.0
method-override~2.3.3
morgan~1.6.1
multiparty~4.1.2
vhost~3.0.0
repository
namevalue
typegit
urlhttps://github.com/strongloop/express
homepagehttp://expressjs.com/
bugs
namevalue
urlhttps://github.com/strongloop/express/issues
licenseMIT
express-debug
namevalue
version1.1.1
author
namevalue
nameTom Hunkapiller
dependencies
namevalue
jade0.29.0
xtend2.0.3
connectr0.0.6
repository
namevalue
typegit
urlgit://github.com/devoidfury/express-debug.git
homepagehttps://github.com/devoidfury/express-debug#readme
bugs
namevalue
urlhttps://github.com/devoidfury/express-debug/issues
licenseMIT
express-domain-middleware
namevalue
version0.1.0
author
namevalue
nameBrian M. Carlson
devDependencies
namevalue
omf~0.3.0
okay~0.2.0
mocha~1.8.2
express~3.2.4
repository
namevalue
typegit
urlgit://github.com/brianc/node-domain-middleware
licenseMIT
express-grab-body
namevalue
version0.1.0
author
namevalue
namejinchizhong@kingsoft.com
dependencies{ }
devDependencies
namevalue
body-parser^1.13.3
express^4.13.3
licenseBSD
filesize
namevalue
version3.1.2
author
namevalue
nameJason Mulligan
emailjason.mulligan@avoidwork.com
devDependencies
namevalue
grunt~0.4.5
grunt-cli~0.1.13
grunt-babel^4.0.0
grunt-sed~0.1.1
grunt-contrib-concat~0.5.0
grunt-contrib-nodeunit~0.4.1
grunt-contrib-watch~0.6.1
grunt-contrib-uglify~0.7.0
repository
namevalue
typegit
urlgit://github.com/avoidwork/filesize.js.git
homepagehttp://filesizejs.com
bugs
namevalue
urlhttps://github.com/avoidwork/filesize.js/issues
licenses
indexvalue
0
namevalue
typeBSD-3
urlhttps://raw.github.com/avoidwork/filesize.js/master/LICENSE
glob
namevalue
version5.0.13
author
namevalue
nameIsaac Z. Schlueter
emaili@izs.me
urlhttp://blog.izs.me/
dependencies
namevalue
inflight^1.0.4
inherits2
minimatch^2.0.1
once^1.3.0
path-is-absolute^1.0.0
devDependencies
namevalue
mkdirp0
rimraf^2.2.8
tap^1.1.4
tick0.0.6
repository
namevalue
typegit
urlgit://github.com/isaacs/node-glob.git
homepagehttps://github.com/isaacs/node-glob#readme
bugs
namevalue
urlhttps://github.com/isaacs/node-glob/issues
licenseISC
jade
namevalue
version1.11.0
author
namevalue
nameTJ Holowaychuk
emailtj@vision-media.ca
dependencies
namevalue
character-parser1.2.1
clean-css^3.1.9
commander~2.6.0
constantinople~3.0.1
jstransformer0.0.2
mkdirp~0.5.0
transformers2.1.0
uglify-js^2.4.19
void-elements~2.0.1
with~4.0.0
devDependencies
namevalue
browserify*
browserify-middleware~4.1.0
code-mirror~3.22.0
coffee-script*
coveralls^2.11.2
express~4.10.4
github-basic^4.1.2
handle~1.0.0
highlight-codemirror~4.1.0
inconsolata0.0.2
istanbul*
jade-code-mirror~1.0.5
jade-highlighter~1.0.5
jstransformer-cdata0.0.3
jstransformer-coffee-script0.0.2
jstransformer-less^1.0.0
jstransformer-marked0.0.1
jstransformer-stylus0.0.1
jstransformer-verbatim0.0.2
less<2.0.0
less-file0.0.9
linify*
lsr^1.0.0
marked~0.3.3
mocha*
opener^1.3.0
pull-request^3.0.0
rimraf^2.2.8
should*
stop^3.0.0-rc1
stylus*
twbs0.0.6
uglify-js*
repository
namevalue
typegit
urlgit://github.com/jadejs/jade.git
homepagehttp://jade-lang.com
bugs
namevalue
urlhttps://github.com/jadejs/jade/issues
licenseMIT
bin
namevalue
jade./bin/jade.js
js-yaml
namevalue
version3.3.1
author
namevalue
nameDervus Grim
emaildervus.grim@gmail.com
dependencies
namevalue
argparse~1.0.2
esprima~2.2.0
devDependencies
namevalue
ansi*
benchmark*
eslint0.18.0
eslint-plugin-nodeca^1.0.3
istanbul*
mocha*
repository
namevalue
typegit
urlgit://github.com/nodeca/js-yaml.git
homepagehttps://github.com/nodeca/js-yaml
bugs
namevalue
urlhttps://github.com/nodeca/js-yaml/issues
licenseMIT
bin
namevalue
js-yamlbin/js-yaml.js
marked
namevalue
version0.3.3
author
namevalue
nameChristopher Jeffrey
devDependencies
namevalue
markdown*
showdown*
robotskirt*
repository
namevalue
typegit
urlgit://github.com/chjj/marked.git
homepagehttps://github.com/chjj/marked
bugs
namevalue
urlhttp://github.com/chjj/marked/issues
licenseMIT
bin
namevalue
marked./bin/marked
moment
namevalue
version2.10.3
author
namevalue
nameIskren Ivov Chernev
emailiskren.chernev@gmail.com
urlhttps://github.com/ichernev
devDependencies
namevalue
uglify-jslatest
es6-promiselatest
gruntlatest
benchmarklatest
esperantolatest
grunt-contrib-cleanlatest
grunt-contrib-concatlatest
grunt-contrib-copylatest
grunt-contrib-jshintlatest
grunt-contrib-uglifylatest
grunt-contrib-watchlatest
grunt-envlatest
grunt-jscslatest
grunt-karmalatest
grunt-nugetlatest
grunt-benchmarklatest
grunt-string-replacelatest
grunt-execlatest
load-grunt-taskslatest
karmalatest
karma-chrome-launcherlatest
karma-firefox-launcherlatest
karma-qunitlatest
karma-sauce-launcherlatest
qunit^0.7.5
qunit-cli^0.1.4
spacejamlatest
repository
namevalue
typegit
urlhttps://github.com/moment/moment.git
homepagehttp://momentjs.com
bugs
namevalue
urlhttps://github.com/moment/moment/issues
licenses
indexvalue
0
namevalue
typeMIT
serve-cgi
namevalue
version0.6.1
dependencies
namevalue
async^1.2.1
extend^2.0.1
devDependencies
namevalue
express^4.13.0
express-grab-body^0.1.0
supertest^1.0.1
licenseBSD

node

namevalue
http_parser2.3
node0.12.7
v83.28.71.19
uv1.6.1
zlib1.2.8
modules14
openssl1.0.1p