OpenType GPOS LookupType 8 - skipping marksOpenType Font Parsing for Pleasure and Profit (anyone understand these stupid tables?)PHP: Read TrueType/OpenType metadata of the font fileShould TrueType and OpenType fonts be converted to WOFF for use on the web?Truetype or Opentype for custom web font?what's the meaning of platformID and encodingID in the cmap of OpenType?OpenType Font & TrueType Font. Whats the difference?Calculating baseline in Raphael.text with OpenTypeComponents of Compund Glyphs in OpenType/TrueTypeFailed to decode OpenType RobotoHow to indicate missing glyphs in a SBIX TrueType/OpenType font table

A vector is defined to have a magnitude and *a* direction, but the zero vector has no *single* direction. So, how is the zero vector a vector?

In what language did Túrin converse with Mím?

Sum and average calculator

Fishing from underwater domes

How to Calculate this definite integral or how to solve this series?

How can I improve my formal definitions?

Received email from ISP saying one of my devices has malware

What kind of electrical outlet is this? Red, winking-face shape

Why does the U.S. military maintain their own weather satellites?

How do I get my neighbour to stop disturbing with loud music?

How smart contract transactions work?

Can a human variant take proficiency in initiative?

What are ways to record who took the pictures if a camera is used by multiple people?

Can a pet cat attune to a magical item?

Can two aircraft be allowed to stay on the same runway at the same time?

apt-file regex: find multiple packages at once using or

Quick Tilepaint Puzzles: Corridors and Corners

How is the casino term "a high roller" commonly expressed in German?

Break down the phrase "shitsurei shinakereba naranaindesu"

Does the Freedom of Movement spell prevent petrification by the Flesh to Stone spell?

Should a TA point out a professor's mistake while attending their lecture?

How to save money by shopping at a variety of grocery stores?

Heuristic argument for the Riemann Hypothesis

Turn off Google Chrome's Notification for "Flash Player will no longer be supported after December 2020."



OpenType GPOS LookupType 8 - skipping marks


OpenType Font Parsing for Pleasure and Profit (anyone understand these stupid tables?)PHP: Read TrueType/OpenType metadata of the font fileShould TrueType and OpenType fonts be converted to WOFF for use on the web?Truetype or Opentype for custom web font?what's the meaning of platformID and encodingID in the cmap of OpenType?OpenType Font & TrueType Font. Whats the difference?Calculating baseline in Raphael.text with OpenTypeComponents of Compund Glyphs in OpenType/TrueTypeFailed to decode OpenType RobotoHow to indicate missing glyphs in a SBIX TrueType/OpenType font table






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








0















I am trying to understand the rendering of "بڑ" (Urdu - Unicode 1576, 1681) with a font Jameel_Noori_Nastaleeq.ttf.



The string is converted into glyphs [607, 460, 471, 1651] by the GSUB table. I can detect the correct anchor-attachment of the second glyph under the first one. But I can not find an appropriate GSUB subtable, that would position the third glyph on top of the first one. Here, the left one is correct, the right one is what my program does at the moment.



enter image description here



Also, I don't quite understand the LookupType 8 of GSUB. Some LookupTable can have LookupFlags including a bit 8 - ignoreMarks. When matching the Backtrack, Input and Lookahead sequences, should I take these flags into account, i.e. skip marks? What exactly is the mechanism of matching and applying LookupType 8?










share|improve this question
























  • You 100% want to ask this question over on typedrawers.com, rather than here. OpenType programming is a super niche subject, and typedrawers.com is full of literally all the people that worked on shaping the opentype spec itself, knowledge exactly what you're asking about and able to give you a way more detailed answer than almost anyone on SO could give you.

    – Mike 'Pomax' Kamermans
    Mar 28 at 0:54


















0















I am trying to understand the rendering of "بڑ" (Urdu - Unicode 1576, 1681) with a font Jameel_Noori_Nastaleeq.ttf.



The string is converted into glyphs [607, 460, 471, 1651] by the GSUB table. I can detect the correct anchor-attachment of the second glyph under the first one. But I can not find an appropriate GSUB subtable, that would position the third glyph on top of the first one. Here, the left one is correct, the right one is what my program does at the moment.



enter image description here



Also, I don't quite understand the LookupType 8 of GSUB. Some LookupTable can have LookupFlags including a bit 8 - ignoreMarks. When matching the Backtrack, Input and Lookahead sequences, should I take these flags into account, i.e. skip marks? What exactly is the mechanism of matching and applying LookupType 8?










share|improve this question
























  • You 100% want to ask this question over on typedrawers.com, rather than here. OpenType programming is a super niche subject, and typedrawers.com is full of literally all the people that worked on shaping the opentype spec itself, knowledge exactly what you're asking about and able to give you a way more detailed answer than almost anyone on SO could give you.

    – Mike 'Pomax' Kamermans
    Mar 28 at 0:54














0












0








0








I am trying to understand the rendering of "بڑ" (Urdu - Unicode 1576, 1681) with a font Jameel_Noori_Nastaleeq.ttf.



The string is converted into glyphs [607, 460, 471, 1651] by the GSUB table. I can detect the correct anchor-attachment of the second glyph under the first one. But I can not find an appropriate GSUB subtable, that would position the third glyph on top of the first one. Here, the left one is correct, the right one is what my program does at the moment.



enter image description here



Also, I don't quite understand the LookupType 8 of GSUB. Some LookupTable can have LookupFlags including a bit 8 - ignoreMarks. When matching the Backtrack, Input and Lookahead sequences, should I take these flags into account, i.e. skip marks? What exactly is the mechanism of matching and applying LookupType 8?










share|improve this question














I am trying to understand the rendering of "بڑ" (Urdu - Unicode 1576, 1681) with a font Jameel_Noori_Nastaleeq.ttf.



The string is converted into glyphs [607, 460, 471, 1651] by the GSUB table. I can detect the correct anchor-attachment of the second glyph under the first one. But I can not find an appropriate GSUB subtable, that would position the third glyph on top of the first one. Here, the left one is correct, the right one is what my program does at the moment.



enter image description here



Also, I don't quite understand the LookupType 8 of GSUB. Some LookupTable can have LookupFlags including a bit 8 - ignoreMarks. When matching the Backtrack, Input and Lookahead sequences, should I take these flags into account, i.e. skip marks? What exactly is the mechanism of matching and applying LookupType 8?







fonts true-type-fonts opentype






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Mar 27 at 23:54









Ivan KuckirIvan Kuckir

1,3911 gold badge15 silver badges33 bronze badges




1,3911 gold badge15 silver badges33 bronze badges















  • You 100% want to ask this question over on typedrawers.com, rather than here. OpenType programming is a super niche subject, and typedrawers.com is full of literally all the people that worked on shaping the opentype spec itself, knowledge exactly what you're asking about and able to give you a way more detailed answer than almost anyone on SO could give you.

    – Mike 'Pomax' Kamermans
    Mar 28 at 0:54


















  • You 100% want to ask this question over on typedrawers.com, rather than here. OpenType programming is a super niche subject, and typedrawers.com is full of literally all the people that worked on shaping the opentype spec itself, knowledge exactly what you're asking about and able to give you a way more detailed answer than almost anyone on SO could give you.

    – Mike 'Pomax' Kamermans
    Mar 28 at 0:54

















You 100% want to ask this question over on typedrawers.com, rather than here. OpenType programming is a super niche subject, and typedrawers.com is full of literally all the people that worked on shaping the opentype spec itself, knowledge exactly what you're asking about and able to give you a way more detailed answer than almost anyone on SO could give you.

– Mike 'Pomax' Kamermans
Mar 28 at 0:54






You 100% want to ask this question over on typedrawers.com, rather than here. OpenType programming is a super niche subject, and typedrawers.com is full of literally all the people that worked on shaping the opentype spec itself, knowledge exactly what you're asking about and able to give you a way more detailed answer than almost anyone on SO could give you.

– Mike 'Pomax' Kamermans
Mar 28 at 0:54













1 Answer
1






active

oldest

votes


















1















The positioning of both marks (the small tah, and dot of 'beh') is done through a lookup in the Mark Positioning ('mark') feature of the GPOS table, which is applied after the GSUB rules are applied. There is no GSUB-only way to get the correct final positioning. The GPOS must be processed (after the GSUB).



As to the ignoreMarks flag: the flag isn't specific to GSUB LookupType8. Any lookup (GSUB or GPOS) can set this flag. It tells the layout engine to ignore marks in the sequence under consideration, for purposes of matching context. This allows defining substitution contexts with only the "root" glyphs of a sequence, so if the context rule is A B C, a lookup with the ignoreMarks flag set would match A (mark) B C, A B (mark) C, A B C, etc.



It comes into play in this font because first the two input characters are decomposed (in the GSUB) to a sequence of base + mark glyphs, then recomposed (also in the GSUB), then the marks are positioned (in the GPOS).



(as an aside: why are you doing text layout yourself, as opposed to using an existing layout engine, such as HarfBuzz or engines built in to other operating systems?)






share|improve this answer



























  • Hi, I am making a photo editor www.Photopea.com, that works in a browser and is used by 100 000 people every day. Sadly, there is no OpenType layout engine in Javascript, so I had to make my own called Typr.js . It is already quite advanced, but as my photo editor expands, I have to gradually add missing parts (like rendering Urdu etc).

    – Ivan Kuckir
    Mar 28 at 10:21











  • so could you tell me, which lookup table is responsible for repositioning the "tiny b"? The "mark" feature mentions 15 lookup records, and I can not match it with any of them :(

    – Ivan Kuckir
    Mar 28 at 11:14











  • Have a look at GPOS lookupList index #20. That is the lookup referenced by the 'mark' feature which positions both the dot and the small tah ("tiny b"). It's actually a mark-to-ligature lookup (GPOS lookupType 5).

    – djangodude
    Mar 28 at 13:21











  • Oh, and check out github.com/prezi/harfbuzz-js which claims to be a JavaScript implementation of HarfBuzz (via Emscripten). Sounds like the project could use some help, and the hard part (OpenType Layout logic) is already done.

    – djangodude
    Mar 28 at 13:22











  • Oh, thanks a lot! I have been discussing it here in parallel: typedrawers.com/discussion/comment/40179#Comment_40179

    – Ivan Kuckir
    Mar 28 at 14:24










Your Answer






StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55388207%2fopentype-gpos-lookuptype-8-skipping-marks%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









1















The positioning of both marks (the small tah, and dot of 'beh') is done through a lookup in the Mark Positioning ('mark') feature of the GPOS table, which is applied after the GSUB rules are applied. There is no GSUB-only way to get the correct final positioning. The GPOS must be processed (after the GSUB).



As to the ignoreMarks flag: the flag isn't specific to GSUB LookupType8. Any lookup (GSUB or GPOS) can set this flag. It tells the layout engine to ignore marks in the sequence under consideration, for purposes of matching context. This allows defining substitution contexts with only the "root" glyphs of a sequence, so if the context rule is A B C, a lookup with the ignoreMarks flag set would match A (mark) B C, A B (mark) C, A B C, etc.



It comes into play in this font because first the two input characters are decomposed (in the GSUB) to a sequence of base + mark glyphs, then recomposed (also in the GSUB), then the marks are positioned (in the GPOS).



(as an aside: why are you doing text layout yourself, as opposed to using an existing layout engine, such as HarfBuzz or engines built in to other operating systems?)






share|improve this answer



























  • Hi, I am making a photo editor www.Photopea.com, that works in a browser and is used by 100 000 people every day. Sadly, there is no OpenType layout engine in Javascript, so I had to make my own called Typr.js . It is already quite advanced, but as my photo editor expands, I have to gradually add missing parts (like rendering Urdu etc).

    – Ivan Kuckir
    Mar 28 at 10:21











  • so could you tell me, which lookup table is responsible for repositioning the "tiny b"? The "mark" feature mentions 15 lookup records, and I can not match it with any of them :(

    – Ivan Kuckir
    Mar 28 at 11:14











  • Have a look at GPOS lookupList index #20. That is the lookup referenced by the 'mark' feature which positions both the dot and the small tah ("tiny b"). It's actually a mark-to-ligature lookup (GPOS lookupType 5).

    – djangodude
    Mar 28 at 13:21











  • Oh, and check out github.com/prezi/harfbuzz-js which claims to be a JavaScript implementation of HarfBuzz (via Emscripten). Sounds like the project could use some help, and the hard part (OpenType Layout logic) is already done.

    – djangodude
    Mar 28 at 13:22











  • Oh, thanks a lot! I have been discussing it here in parallel: typedrawers.com/discussion/comment/40179#Comment_40179

    – Ivan Kuckir
    Mar 28 at 14:24















1















The positioning of both marks (the small tah, and dot of 'beh') is done through a lookup in the Mark Positioning ('mark') feature of the GPOS table, which is applied after the GSUB rules are applied. There is no GSUB-only way to get the correct final positioning. The GPOS must be processed (after the GSUB).



As to the ignoreMarks flag: the flag isn't specific to GSUB LookupType8. Any lookup (GSUB or GPOS) can set this flag. It tells the layout engine to ignore marks in the sequence under consideration, for purposes of matching context. This allows defining substitution contexts with only the "root" glyphs of a sequence, so if the context rule is A B C, a lookup with the ignoreMarks flag set would match A (mark) B C, A B (mark) C, A B C, etc.



It comes into play in this font because first the two input characters are decomposed (in the GSUB) to a sequence of base + mark glyphs, then recomposed (also in the GSUB), then the marks are positioned (in the GPOS).



(as an aside: why are you doing text layout yourself, as opposed to using an existing layout engine, such as HarfBuzz or engines built in to other operating systems?)






share|improve this answer



























  • Hi, I am making a photo editor www.Photopea.com, that works in a browser and is used by 100 000 people every day. Sadly, there is no OpenType layout engine in Javascript, so I had to make my own called Typr.js . It is already quite advanced, but as my photo editor expands, I have to gradually add missing parts (like rendering Urdu etc).

    – Ivan Kuckir
    Mar 28 at 10:21











  • so could you tell me, which lookup table is responsible for repositioning the "tiny b"? The "mark" feature mentions 15 lookup records, and I can not match it with any of them :(

    – Ivan Kuckir
    Mar 28 at 11:14











  • Have a look at GPOS lookupList index #20. That is the lookup referenced by the 'mark' feature which positions both the dot and the small tah ("tiny b"). It's actually a mark-to-ligature lookup (GPOS lookupType 5).

    – djangodude
    Mar 28 at 13:21











  • Oh, and check out github.com/prezi/harfbuzz-js which claims to be a JavaScript implementation of HarfBuzz (via Emscripten). Sounds like the project could use some help, and the hard part (OpenType Layout logic) is already done.

    – djangodude
    Mar 28 at 13:22











  • Oh, thanks a lot! I have been discussing it here in parallel: typedrawers.com/discussion/comment/40179#Comment_40179

    – Ivan Kuckir
    Mar 28 at 14:24













1














1










1









The positioning of both marks (the small tah, and dot of 'beh') is done through a lookup in the Mark Positioning ('mark') feature of the GPOS table, which is applied after the GSUB rules are applied. There is no GSUB-only way to get the correct final positioning. The GPOS must be processed (after the GSUB).



As to the ignoreMarks flag: the flag isn't specific to GSUB LookupType8. Any lookup (GSUB or GPOS) can set this flag. It tells the layout engine to ignore marks in the sequence under consideration, for purposes of matching context. This allows defining substitution contexts with only the "root" glyphs of a sequence, so if the context rule is A B C, a lookup with the ignoreMarks flag set would match A (mark) B C, A B (mark) C, A B C, etc.



It comes into play in this font because first the two input characters are decomposed (in the GSUB) to a sequence of base + mark glyphs, then recomposed (also in the GSUB), then the marks are positioned (in the GPOS).



(as an aside: why are you doing text layout yourself, as opposed to using an existing layout engine, such as HarfBuzz or engines built in to other operating systems?)






share|improve this answer















The positioning of both marks (the small tah, and dot of 'beh') is done through a lookup in the Mark Positioning ('mark') feature of the GPOS table, which is applied after the GSUB rules are applied. There is no GSUB-only way to get the correct final positioning. The GPOS must be processed (after the GSUB).



As to the ignoreMarks flag: the flag isn't specific to GSUB LookupType8. Any lookup (GSUB or GPOS) can set this flag. It tells the layout engine to ignore marks in the sequence under consideration, for purposes of matching context. This allows defining substitution contexts with only the "root" glyphs of a sequence, so if the context rule is A B C, a lookup with the ignoreMarks flag set would match A (mark) B C, A B (mark) C, A B C, etc.



It comes into play in this font because first the two input characters are decomposed (in the GSUB) to a sequence of base + mark glyphs, then recomposed (also in the GSUB), then the marks are positioned (in the GPOS).



(as an aside: why are you doing text layout yourself, as opposed to using an existing layout engine, such as HarfBuzz or engines built in to other operating systems?)







share|improve this answer














share|improve this answer



share|improve this answer








edited Mar 28 at 1:27

























answered Mar 28 at 1:19









djangodudedjangodude

3,3411 gold badge20 silver badges33 bronze badges




3,3411 gold badge20 silver badges33 bronze badges















  • Hi, I am making a photo editor www.Photopea.com, that works in a browser and is used by 100 000 people every day. Sadly, there is no OpenType layout engine in Javascript, so I had to make my own called Typr.js . It is already quite advanced, but as my photo editor expands, I have to gradually add missing parts (like rendering Urdu etc).

    – Ivan Kuckir
    Mar 28 at 10:21











  • so could you tell me, which lookup table is responsible for repositioning the "tiny b"? The "mark" feature mentions 15 lookup records, and I can not match it with any of them :(

    – Ivan Kuckir
    Mar 28 at 11:14











  • Have a look at GPOS lookupList index #20. That is the lookup referenced by the 'mark' feature which positions both the dot and the small tah ("tiny b"). It's actually a mark-to-ligature lookup (GPOS lookupType 5).

    – djangodude
    Mar 28 at 13:21











  • Oh, and check out github.com/prezi/harfbuzz-js which claims to be a JavaScript implementation of HarfBuzz (via Emscripten). Sounds like the project could use some help, and the hard part (OpenType Layout logic) is already done.

    – djangodude
    Mar 28 at 13:22











  • Oh, thanks a lot! I have been discussing it here in parallel: typedrawers.com/discussion/comment/40179#Comment_40179

    – Ivan Kuckir
    Mar 28 at 14:24

















  • Hi, I am making a photo editor www.Photopea.com, that works in a browser and is used by 100 000 people every day. Sadly, there is no OpenType layout engine in Javascript, so I had to make my own called Typr.js . It is already quite advanced, but as my photo editor expands, I have to gradually add missing parts (like rendering Urdu etc).

    – Ivan Kuckir
    Mar 28 at 10:21











  • so could you tell me, which lookup table is responsible for repositioning the "tiny b"? The "mark" feature mentions 15 lookup records, and I can not match it with any of them :(

    – Ivan Kuckir
    Mar 28 at 11:14











  • Have a look at GPOS lookupList index #20. That is the lookup referenced by the 'mark' feature which positions both the dot and the small tah ("tiny b"). It's actually a mark-to-ligature lookup (GPOS lookupType 5).

    – djangodude
    Mar 28 at 13:21











  • Oh, and check out github.com/prezi/harfbuzz-js which claims to be a JavaScript implementation of HarfBuzz (via Emscripten). Sounds like the project could use some help, and the hard part (OpenType Layout logic) is already done.

    – djangodude
    Mar 28 at 13:22











  • Oh, thanks a lot! I have been discussing it here in parallel: typedrawers.com/discussion/comment/40179#Comment_40179

    – Ivan Kuckir
    Mar 28 at 14:24
















Hi, I am making a photo editor www.Photopea.com, that works in a browser and is used by 100 000 people every day. Sadly, there is no OpenType layout engine in Javascript, so I had to make my own called Typr.js . It is already quite advanced, but as my photo editor expands, I have to gradually add missing parts (like rendering Urdu etc).

– Ivan Kuckir
Mar 28 at 10:21





Hi, I am making a photo editor www.Photopea.com, that works in a browser and is used by 100 000 people every day. Sadly, there is no OpenType layout engine in Javascript, so I had to make my own called Typr.js . It is already quite advanced, but as my photo editor expands, I have to gradually add missing parts (like rendering Urdu etc).

– Ivan Kuckir
Mar 28 at 10:21













so could you tell me, which lookup table is responsible for repositioning the "tiny b"? The "mark" feature mentions 15 lookup records, and I can not match it with any of them :(

– Ivan Kuckir
Mar 28 at 11:14





so could you tell me, which lookup table is responsible for repositioning the "tiny b"? The "mark" feature mentions 15 lookup records, and I can not match it with any of them :(

– Ivan Kuckir
Mar 28 at 11:14













Have a look at GPOS lookupList index #20. That is the lookup referenced by the 'mark' feature which positions both the dot and the small tah ("tiny b"). It's actually a mark-to-ligature lookup (GPOS lookupType 5).

– djangodude
Mar 28 at 13:21





Have a look at GPOS lookupList index #20. That is the lookup referenced by the 'mark' feature which positions both the dot and the small tah ("tiny b"). It's actually a mark-to-ligature lookup (GPOS lookupType 5).

– djangodude
Mar 28 at 13:21













Oh, and check out github.com/prezi/harfbuzz-js which claims to be a JavaScript implementation of HarfBuzz (via Emscripten). Sounds like the project could use some help, and the hard part (OpenType Layout logic) is already done.

– djangodude
Mar 28 at 13:22





Oh, and check out github.com/prezi/harfbuzz-js which claims to be a JavaScript implementation of HarfBuzz (via Emscripten). Sounds like the project could use some help, and the hard part (OpenType Layout logic) is already done.

– djangodude
Mar 28 at 13:22













Oh, thanks a lot! I have been discussing it here in parallel: typedrawers.com/discussion/comment/40179#Comment_40179

– Ivan Kuckir
Mar 28 at 14:24





Oh, thanks a lot! I have been discussing it here in parallel: typedrawers.com/discussion/comment/40179#Comment_40179

– Ivan Kuckir
Mar 28 at 14:24








Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.







Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.



















draft saved

draft discarded
















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55388207%2fopentype-gpos-lookuptype-8-skipping-marks%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Kamusi Yaliyomo Aina za kamusi | Muundo wa kamusi | Faida za kamusi | Dhima ya picha katika kamusi | Marejeo | Tazama pia | Viungo vya nje | UrambazajiKuhusu kamusiGo-SwahiliWiki-KamusiKamusi ya Kiswahili na Kiingerezakuihariri na kuongeza habari

Swift 4 - func physicsWorld not invoked on collision? The Next CEO of Stack OverflowHow to call Objective-C code from Swift#ifdef replacement in the Swift language@selector() in Swift?#pragma mark in Swift?Swift for loop: for index, element in array?dispatch_after - GCD in Swift?Swift Beta performance: sorting arraysSplit a String into an array in Swift?The use of Swift 3 @objc inference in Swift 4 mode is deprecated?How to optimize UITableViewCell, because my UITableView lags

Access current req object everywhere in Node.js ExpressWhy are global variables considered bad practice? (node.js)Using req & res across functionsHow do I get the path to the current script with Node.js?What is Node.js' Connect, Express and “middleware”?Node.js w/ express error handling in callbackHow to access the GET parameters after “?” in Express?Modify Node.js req object parametersAccess “app” variable inside of ExpressJS/ConnectJS middleware?Node.js Express app - request objectAngular Http Module considered middleware?Session variables in ExpressJSAdd properties to the req object in expressjs with Typescript