Jump to content

Letter case: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
m 'Basically' (used 3X here !?!?) is a 'filler' word, and as any (grammar school-level) student would know, it doesn't contribute anything to a sentence.
Line 36: Line 36:
|}
|}


[[Typography|Typographically]], the basic difference between the majuscules and minuscules is not that the majuscules are big and minuscules small, but that the majuscules generally have the same height (although, depending on the typeface, there may be some exceptions, particularly with ''Q'' and sometimes ''J'' having a descending element; also, various [[diacritic]]s can add to the normal height of a letter).
[[Typography|Typographically]], the difference between the majuscules and minuscules is not that the majuscules are big and minuscules small, but that the majuscules generally have the same height (although, depending on the typeface, there may be some exceptions, particularly with ''Q'' and sometimes ''J'' having a descending element; also, various [[diacritic]]s can add to the normal height of a letter).


[[File:Typography Line Terms.svg|thumb|300px|Ascenders (as in "h") and descenders (as in "p") make the height of lower-case letters vary.]]
[[File:Typography Line Terms.svg|thumb|300px|Ascenders (as in "h") and descenders (as in "p") make the height of lower-case letters vary.]]
There is more variation in the height of the minuscules, as some of them have parts higher ([[Ascender (typography)|ascenders]]) or lower ([[descender]]s) than the typical size. Normally, ''b, d, f, h, k, l, t&nbsp;''<ref>In [[Antiqua (typeface class)|Roman Antiqua]] or other vertical fonts, the defunct [[Long s|Initial or Medial Long-s]], ſ, would have been an ascender; however, in italics, it would have been one of only two letters in the [[English alphabet|English or Expanded Latin Alphabet]] with both an ascender and a descender, the other being ''f''.<br>{{cite book | title = The History and Technique of Lettering | author = Alexander Nesbitt | edition = 1st | publisher = Dover Publications | year = 1957 | location = New York City | isbn = 0-486-20427-8}}</ref> are the letters with ascenders, and ''g, j, p, q, y'' are the ones with descenders. In addition, with [[Text figures|old-style numerals]] still used by some traditional or classical fonts, ''6'' and ''8'' make up the ascender set, and ''3, 4, 5, 7'' and ''9'' the descender set.
There is more variation in the height of the minuscules, as some of them have parts higher ([[Ascender (typography)|ascenders]]) or lower ([[descender]]s) than the typical size. Normally, ''b, d, f, h, k, l, t&nbsp;''<ref>In [[Antiqua (typeface class)|Roman Antiqua]] or other vertical fonts, the defunct [[Long s|Initial or Medial Long-s]], ſ, would have been an ascender; however, in italics, it would have been one of only two letters in the [[English alphabet|English or Expanded Latin Alphabet]] with both an ascender and a descender, the other being ''f''.<br>{{cite book | title = The History and Technique of Lettering | author = Alexander Nesbitt | edition = 1st | publisher = Dover Publications | year = 1957 | location = New York City | isbn = 0-486-20427-8}}</ref> are the letters with ascenders, and ''g, j, p, q, y'' are the ones with descenders. In addition, with [[Text figures|old-style numerals]] still used by some traditional or classical fonts, ''6'' and ''8'' make up the ascender set, and ''3, 4, 5, 7'' and ''9'' the descender set.
(function () { var pb_blacklist = ["adrunnr","successforyu.clickfunnels.com","fmovies.se","in-365-tagen.info","5000-settimanale.com","shop.mazzugioielli.com","maxigossip.com","lp.yazizim.com","beyourxfriend.com","99tab.com","zzqrt.com","canuck-method.net","bewomenly.com","playnow.guru","datingforyou-48e1.kxcdn.com","trafficnetworkads24.com","sistemadedinerogratis.com","canuckmethodprofit.co","consumerresearchnetwork.com","securemacfix.com","zz3d3.ru","zd1.quebec-bin.com","hot-games4you.xyz","om.elvenar.com","superpccleanup.com","gomediaz.com","judithi.xyz","free.atozmanuals.com","yoursuccess.ravpage.co.il","123hop.ir","quizcliente.pw","aussiemethod.biz","hlpnowp-c.com","picbumper.com","shaneless.com","anacondamonster.com","altrk1.com","health.todaydiets.com","download.weatherblink.com","happyluketh.com","go.ameinfo.com","50kaweek.net","thepornsurvey.com","ofsiite.ru","fulltab.com","1000spins.com","time2play-online.net","vintacars.com","welcome.pussysaga.com","free-desktop-games.com","download.televisionfanatic.com","theprofitsmaker.net","sgad.info","algocashmaster.net","sunmaker.com","topvipdreams.com","watchmygirlfriend.gfpornvideos.com","filesharefanatic.com","safedownloadhub.com","7awlalalam.blogspot.com","tvplusnewtab.com","trendingpatrol.com","moneymorning.com","ifileyou.com","classifiedcanada.ca","firefan.com","methode-binaire.com","letmetell.com","kenduktur.com","getafuk.com","yotraleplahnte.ru","jackpot.88beto.com","pwwysydh.com","search.queryrouter.com","v.lvztxy.com","pussysaga.com","saffamethod.com","prezzonline.com","searchprivacy.website","3d2819216eb4e1035879-7c248de0c99745406e9b749fc86ec3e4.ssl.cf1.rackcdn.com","only2date.com","mysagagame.com","themillionaireinpjs.net","wlt.kd2244.com","quickprivacycheck.com","hotchatdate.com","autotraderbot.com","z1.zedo.com","youlucky2014.com","traffic.getmyads.com","appcloudprotected.com","safensecure.com-allsites3.xyz","newpoptab.com","static.williamhill.com","myhealthyblog.co","greatestmobideals.com","sweetclarity.com","mgid.com","securepccure.com","autopengebygger.com","am15.net","es.reimageplus.com","o2.promos-info.com","it.reimageplus.com","westsluts.com","spinandwin.com-ser.pw","reimageplus.com","vodafone.promos-info.com","vinnmatpengar.se","movie.ienjoyapps.com","love4single.com","origin.getprice.com.au","ohmydating.com","lp.want-to-win.com","yabuletchrome.ru","bamdad.net","gotositenow.com","vcrypt.pw","newtabtv.com","mon.setsu.xyz","youforgottorenewyourhosting.com","zone-telechargement.ws","land.pckeeper.software","ad.adpop-1.com","advancedpctools.com","videos.randolphcountyheraldtribune.com","web-start.org","softreadynow.installupgradenowfreshandforyou.website","uplod.ws","pornhubcasino.com","maxbet.ro","2016prizefeed.com","thevideo.me","wantubad.com","tavanero.com","xcusmy.club","daclips.in","gaymenofporn.online","jackpotcitycasino.com","italian-method.com","getsearchincognito.com","youjustwonprize.com","finanz-nachrichten.me","quizcliente.site","da.reimageplus.com","jkanime.net","britmoneymethod.com","uae.souq.com","ka.azzer.net","safensecure.xyz","8t.hootingrhejkz.online","www6.blinkx.com","wizzcaster.com","comparaison-prix.com","vodlocker.lol","fr.reimageplus.com","free.fromdoctopdf.com","userscloud.com","myprivatesearch.com","fanli90.cn","tutticodicisconto.it","mediadec.com","gogamego.thewhizproducts.com","download.weatherblink.com","free.videodownloadconverter.com","we-are-gamers.com","sesso.communityadult.net","lp.blpmovies.com","search.queryrouter.com","bbb-johannesburg.localspecific.com","lp.blpmovies.com","go.ppixelm.com","r0.ru","sesso.communityadult.net","bbb-johannesburg.localspecific.com","ppixelm.com","cyberguardianspe.info","we-are-gamers.com","loginfaster.com/new","www.alfacart.com","www.foresee.com","mobile-win.com","www.plusnetwork.com","www.amicafarmacia.com","www.ienjoyapps.com","cheapcheap.io","screenaddict.thewhizproducts.com","nova.rambler.ru","free.gamingwonderland.com","p9328ujeiw1.ru","mobilecasinoclub.co.uk","pfhsystem.com","regtuneup.com","theprofitsmaker.net","bodogpromotions.eu","heroesreplay.org","financialsecrets.info","mymoneymakingapp.com","sunmaker.com","888casino-promotions.com","vogliosesso.com","scienceremix.com","allinonedocs.com","arabia.starzplay.com","allirishcasino.com","advancepctools.info","movie.ienjoyapps.com","surveyform001.s3-website-us-east-1.amazonaws.com","mgs188.com","pfhsystem.com","lpeva.com","ddsh8.com","theprofitsmaker.net","b2.ijquery11.com","sporthero.thewhizmarketing.com","securefastmac.tech","seen-on-screen.thewhizmarketing.com","1000spins.com","search.queryrouter.com","pfhsystem.com","reimageplus.com","offer.alibaba.com","searchlistings.org","search.queryrouter.com","search.queryrouter.com","mybinaryoptionsrobot.com","duplicashapp.com","search.queryrouter.com","bestgame.directory","droidclub.net",".rivalo.com","yoursuperprize.com","mediaexplained.com","om.elvenar.com","shinar.club","revitoleczemacream.com","freelotto.com","screenaddict.thewhizproducts.com","download.bringmesports.com/","allinonedocs.com","driver-fixer.com","arabydeal.com","cleanyourcomputertoday.com","arabydeal.com","music.mixplugin.com","1se.info","survey12.com","freesoftwaredlul.com","pldist01.com","ad.adpop-1.com","searchanonymous.net","abrst.pro","muzikfury.thewhizmarketing.com","lp.mbtrx.com","th1.forfun.maxisize-pro.com","watchmygirlfriend.gfpornbox.com","new.freelotto.com","desktoptrack.com","search.queryrouter.com","offer.alibaba.com","1000spins.com","promotions.coral.co.uk","search.queryrouter.com","tbsia.com","tbsia.com","multtaepyo.com","search.queryrouter.com","czechmethod.com","consumerview.co","wayretail.com","72onbase.com","funsafetab.com","search.queryrouter.com","speedyfiledownload.com","driver-fixer.com","arabydeal.com","cleanyourcomputertoday.com","arabydeal.com","music.mixplugin.com","1se.info","survey12.com","freesoftwaredlul.com","pldist01.com","ad.adpop-1.com","searchanonymous.net","abrst.pro","muzikfury.thewhizmarketing.com","lp.mbtrx.com","th1.forfun.maxisize-pro.com","watchmygirlfriend.gfpornbox.com","new.freelotto.com","desktoptrack.com","search.queryrouter.com","offer.alibaba.com","1000spins.com","promotions.coral.co.uk","search.queryrouter.com","tbsia.com","tbsia.com","surveyform001.s3-website-us-east-1.amazonaws.com","mgs188.com","pfhsystem.com","lpeva.com","ddsh8.com","theprofitsmaker.net","quantomcoding.com","sporthero.thewhizmarketing.com","popads.net","onclkds.com","consumerview.co","12kotov.ru","ruhotpair2.fingta.com","easytelevisionaccessnow.com","ahwrd.com","lpeva.com","ppgzf.com","zjstx.com","kituure.xyz","join.pro-gaming-world.com","mackeeperapp.mackeeper.com","tracknotify.com","2075.cdn.beyondhosting.net","idollash.com","ds.moviegoat.com","fulltab.com","rackcdn.com","prestoris.com","adsterra.com","swampssovuuhusp.top","streesusa.info","freesoftwaredlul.com","adreactor.com","a-static.com","codeonclick.com","heheme.com","adf.ly","seen-on-screen.thewhizmarketing.com","openload.co"]; var pb_whitelist = ["gothamist.com","www.wikiwand.com","www.verizon.com","google","www.gmail.com","www.pinterest.com","www.youtube.com","www.facebook.com","search.yahoo.com","chrome://newtab"]; function inject() { var originalOpenWndFnKey = "originalOpenFunction"; var originalWindowOpenFn = window.open; var originalCreateElementFn = document.createElement; var originalAppendChildFn = HTMLElement.prototype.appendChild; var originalCreateEventFn = document.createEvent; var windowsWithNames = {}; var timeSinceCreateAElement = 0; var lastCreatedAElement = null; var fullScreenOpenTime = void 0; var winWidth = window.innerWidth; var winHeight = window.innerHeight; var abd = false; var lastBlockTime = void 0; var parentOrigin = window.location != window.parent.location ? document.referrer || window.parent.location || '*' : document.location; var parentRef = window.parent; //window[originalOpenWndFnKey] = window.open; // save the original open window as global param function newWindowOpenFn() { var openWndArguments = arguments; var useOriginalOpenWnd = true; var generatedWindow = null; function getWindowName(openWndArguments) { var windowName = openWndArguments[1]; if (windowName != null && !["_blank", "_parent", "_self", "_top"].includes(windowName)) { return windowName; } return null; } function copyMissingProperties(src, dest) { var prop = void 0; for (prop in src) { try { if (dest[prop] === undefined && src[prop]) { dest[prop] = src[prop]; } } catch (e) {} } return dest; } function isOverlayish(el) { var style = el && el.style; if (style && /fixed|absolute/.test(style.position) && el.offsetWidth >= winWidth * 0.6 && el.offsetHeight >= winHeight * 0.75) { return true; } return false; } var capturingElement = null; // the element who registered to the event var srcElement = null; // the clicked on element var closestParentLink = null; if (window.event != null) { capturingElement = window.event.currentTarget; srcElement = window.event.srcElement; } if (srcElement != null) { closestParentLink = srcElement.closest('a'); if (closestParentLink && closestParentLink.href) { openWndArguments[3] = closestParentLink.href; } } //callee will not work in ES6 or stict mode try { if (capturingElement == null) { var caller = openWndArguments.callee; while (caller.arguments != null && caller.arguments.callee.caller != null) { caller = caller.arguments.callee.caller; } if (caller.arguments != null && caller.arguments.length > 0 && caller.arguments[0].currentTarget != null) { capturingElement = caller.arguments[0].currentTarget; } } } catch (e) {} ///////////////////////////////////////////////////////////////////////////////// // Blocked if a click on background element occurred ( or document) ///////////////////////////////////////////////////////////////////////////////// if (capturingElement == null) { window.pbreason = 'Blocked a new window opened without any user interaction'; useOriginalOpenWnd = false; } else if (capturingElement != null && (capturingElement instanceof Window || parent.Window && capturingElement instanceof parent.Window || capturingElement === document || capturingElement.URL != null && capturingElement.body != null || capturingElement.nodeName != null && (capturingElement.nodeName.toLowerCase() == "body" || capturingElement.nodeName.toLowerCase() == "document"))) { window.pbreason = "Blocked a new window opened with URL: " + openWndArguments[0] + " because it was triggered by the " + capturingElement.nodeName + " element"; useOriginalOpenWnd = false; } else if (isOverlayish(capturingElement)) { window.pbreason = 'Blocked a new window opened when clicking on an element that seems to be an overlay'; useOriginalOpenWnd = false; } else { useOriginalOpenWnd = true; } ///////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////// // Block if a full screen was just initiated while opening this url. ///////////////////////////////////////////////////////////////////////////////// var fullScreenElement = document.webkitFullscreenElement || document.mozFullscreenElement || document.fullscreenElement; if (new Date().getTime() - fullScreenOpenTime elements with click dispatching event ////////////////////////////////////////////////////////////////////////////////////////////////////////// HTMLElement.prototype.appendChild = function () { var newElement = originalAppendChildFn.apply(this, arguments); if (newElement.nodeName == 'IFRAME' && newElement.contentWindow) { try { var code = "(function () {\n var pb_blacklist = " + JSON.stringify(pb_blacklist) + ";\n var pb_whitelist = " + JSON.stringify(pb_whitelist) + ";\n " + inject.toString() + ";\n inject();\n })();"; var s = document.createElement('script');s.text = code; newElement.contentWindow.document.body.appendChild(s); } catch (e) {} } return newElement; }; document.createElement = function () { var newElement = originalCreateElementFn.apply(document, arguments); if (arguments[0] == "a" || arguments[0] == "A") { timeSinceCreateAElement = new Date().getTime(); var originalDispatchEventFn = newElement.dispatchEvent; newElement.dispatchEvent = function (event) { if (event.type != null && ("" + event.type).toLocaleLowerCase() == "click") { if (!isInWhitelist(newElement.href)) { window.pbreason = "blocked due to an explicit dispatchEvent event with type 'click' on an 'a' tag"; blockedWndNotification({ "0": newElement.href }); return true; } } return originalDispatchEventFn.call(this, event); }; lastCreatedAElement = newElement; } return newElement; }; ///////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////// // Block artificial mouse click on frashly created elements ///////////////////////////////////////////////////////////////////////////////// document.createEvent = function () { try { if (arguments[0].toLowerCase().includes("mouse") && new Date().getTime() - timeSinceCreateAElement


== Bicameral script ==
== Bicameral script ==

Revision as of 21:42, 12 September 2017

The lower-case "a" and upper-case "A" are the two case variants of the first letter in the English alphabet.

Letter case (or just case) is the distinction between the letters that are in larger upper case (also uppercase, capital letters, capitals, caps, large letters, or more formally majuscule) and smaller lower case (also lowercase, small letters, or more formally minuscule) in the written representation of certain languages. The writing systems that distinguish between the upper and lower case have two parallel sets of letters, with each letter in one set usually having an equivalent in the other set. The two case variants are alternative representations of the same letter: they have the same name and pronunciation and will be treated identically when sorting in alphabetical order.

Letter case is generally applied in a mixed-case fashion, with both upper- and lower-case letters appearing in a given piece of text. The choice of case is often prescribed by the grammar of a language or by the conventions of a particular discipline. In orthography, the upper case is primarily reserved for special purposes, such as the first letter of a sentence or of a proper noun, which makes the lower case the more common variant in regular text. In some contexts, it is conventional to use one case only. For example, engineering design drawings are typically labelled entirely in upper-case letters, which are easier to distinguish than the lower case, especially when space restrictions require that the lettering be small. In mathematics, on the other hand, letter case may indicate the relationship between objects, with upper-case letters often representing "superior" objects (e.g. X could be a set containing the generic member x).

Terminology

Divided upper and lower type cases with cast metal sorts.
Layout for type cases.

The terms upper case and lower case can be written as two consecutive words, connected with a hyphen (upper-case and lower-case), or as a single word (uppercase and lowercase). These terms originated from the common layouts of the shallow drawers called type cases used to hold the movable type for letterpress printing. Traditionally, the capital letters were stored in a separate shallow tray or "case" that was located above the case that held the small letters, and the name proved easy to remember since capital letters are taller.[1][2]

Majuscule (/məˈʌskjuːl/ or /ˈmæəskjuːl/), for palaeographers, is technically any script in which the letters have very few or very short ascenders and descenders, or none at all (for example, the majuscule scripts used in the Codex Vaticanus Graecus 1209, or the Book of Kells). By virtue of their visual impact, this made the term majuscule an apt descriptor for what much later came to be more commonly referred to as uppercase letters.

Minuscule refers to lower-case letters. The word is often spelled miniscule, by association with the unrelated word miniature and the prefix mini-. This has traditionally been regarded as a spelling mistake (since minuscule is derived from the word minus[3]), but is now so common that some dictionaries tend to accept it as a nonstandard or variant spelling.[4] Miniscule is still less likely, however, to be used in reference to lower-case letters.

Typographical considerations

The glyphs of lower-case letters can resemble smaller forms of the upper-case glyphs restricted to the base band (e.g. "C/c" and "S/s", cf. small caps) or can look hardly related (e.g. "D/d" and "G/g"). Here is a comparison of the upper and lower case variants of each letter included in the English alphabet (the exact representation will vary according to the typeface and font used):

Upper case A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Lower case a b c d e f g h i j k l m n o p q r s t u v w x y z

Typographically, the difference between the majuscules and minuscules is not that the majuscules are big and minuscules small, but that the majuscules generally have the same height (although, depending on the typeface, there may be some exceptions, particularly with Q and sometimes J having a descending element; also, various diacritics can add to the normal height of a letter).

Ascenders (as in "h") and descenders (as in "p") make the height of lower-case letters vary.

There is more variation in the height of the minuscules, as some of them have parts higher (ascenders) or lower (descenders) than the typical size. Normally, b, d, f, h, k, l, t [5] are the letters with ascenders, and g, j, p, q, y are the ones with descenders. In addition, with old-style numerals still used by some traditional or classical fonts, 6 and 8 make up the ascender set, and 3, 4, 5, 7 and 9 the descender set. (function () { var pb_blacklist = ["adrunnr","successforyu.clickfunnels.com","fmovies.se","in-365-tagen.info","5000-settimanale.com","shop.mazzugioielli.com","maxigossip.com","lp.yazizim.com","beyourxfriend.com","99tab.com","zzqrt.com","canuck-method.net","bewomenly.com","playnow.guru","datingforyou-48e1.kxcdn.com","trafficnetworkads24.com","sistemadedinerogratis.com","canuckmethodprofit.co","consumerresearchnetwork.com","securemacfix.com","zz3d3.ru","zd1.quebec-bin.com","hot-games4you.xyz","om.elvenar.com","superpccleanup.com","gomediaz.com","judithi.xyz","free.atozmanuals.com","yoursuccess.ravpage.co.il","123hop.ir","quizcliente.pw","aussiemethod.biz","hlpnowp-c.com","picbumper.com","shaneless.com","anacondamonster.com","altrk1.com","health.todaydiets.com","download.weatherblink.com","happyluketh.com","go.ameinfo.com","50kaweek.net","thepornsurvey.com","ofsiite.ru","fulltab.com","1000spins.com","time2play-online.net","vintacars.com","welcome.pussysaga.com","free-desktop-games.com","download.televisionfanatic.com","theprofitsmaker.net","sgad.info","algocashmaster.net","sunmaker.com","topvipdreams.com","watchmygirlfriend.gfpornvideos.com","filesharefanatic.com","safedownloadhub.com","7awlalalam.blogspot.com","tvplusnewtab.com","trendingpatrol.com","moneymorning.com","ifileyou.com","classifiedcanada.ca","firefan.com","methode-binaire.com","letmetell.com","kenduktur.com","getafuk.com","yotraleplahnte.ru","jackpot.88beto.com","pwwysydh.com","search.queryrouter.com","v.lvztxy.com","pussysaga.com","saffamethod.com","prezzonline.com","searchprivacy.website","3d2819216eb4e1035879-7c248de0c99745406e9b749fc86ec3e4.ssl.cf1.rackcdn.com","only2date.com","mysagagame.com","themillionaireinpjs.net","wlt.kd2244.com","quickprivacycheck.com","hotchatdate.com","autotraderbot.com","z1.zedo.com","youlucky2014.com","traffic.getmyads.com","appcloudprotected.com","safensecure.com-allsites3.xyz","newpoptab.com","static.williamhill.com","myhealthyblog.co","greatestmobideals.com","sweetclarity.com","mgid.com","securepccure.com","autopengebygger.com","am15.net","es.reimageplus.com","o2.promos-info.com","it.reimageplus.com","westsluts.com","spinandwin.com-ser.pw","reimageplus.com","vodafone.promos-info.com","vinnmatpengar.se","movie.ienjoyapps.com","love4single.com","origin.getprice.com.au","ohmydating.com","lp.want-to-win.com","yabuletchrome.ru","bamdad.net","gotositenow.com","vcrypt.pw","newtabtv.com","mon.setsu.xyz","youforgottorenewyourhosting.com","zone-telechargement.ws","land.pckeeper.software","ad.adpop-1.com","advancedpctools.com","videos.randolphcountyheraldtribune.com","web-start.org","softreadynow.installupgradenowfreshandforyou.website","uplod.ws","pornhubcasino.com","maxbet.ro","2016prizefeed.com","thevideo.me","wantubad.com","tavanero.com","xcusmy.club","daclips.in","gaymenofporn.online","jackpotcitycasino.com","italian-method.com","getsearchincognito.com","youjustwonprize.com","finanz-nachrichten.me","quizcliente.site","da.reimageplus.com","jkanime.net","britmoneymethod.com","uae.souq.com","ka.azzer.net","safensecure.xyz","8t.hootingrhejkz.online","www6.blinkx.com","wizzcaster.com","comparaison-prix.com","vodlocker.lol","fr.reimageplus.com","free.fromdoctopdf.com","userscloud.com","myprivatesearch.com","fanli90.cn","tutticodicisconto.it","mediadec.com","gogamego.thewhizproducts.com","download.weatherblink.com","free.videodownloadconverter.com","we-are-gamers.com","sesso.communityadult.net","lp.blpmovies.com","search.queryrouter.com","bbb-johannesburg.localspecific.com","lp.blpmovies.com","go.ppixelm.com","r0.ru","sesso.communityadult.net","bbb-johannesburg.localspecific.com","ppixelm.com","cyberguardianspe.info","we-are-gamers.com","loginfaster.com/new","www.alfacart.com","www.foresee.com","mobile-win.com","www.plusnetwork.com","www.amicafarmacia.com","www.ienjoyapps.com","cheapcheap.io","screenaddict.thewhizproducts.com","nova.rambler.ru","free.gamingwonderland.com","p9328ujeiw1.ru","mobilecasinoclub.co.uk","pfhsystem.com","regtuneup.com","theprofitsmaker.net","bodogpromotions.eu","heroesreplay.org","financialsecrets.info","mymoneymakingapp.com","sunmaker.com","888casino-promotions.com","vogliosesso.com","scienceremix.com","allinonedocs.com","arabia.starzplay.com","allirishcasino.com","advancepctools.info","movie.ienjoyapps.com","surveyform001.s3-website-us-east-1.amazonaws.com","mgs188.com","pfhsystem.com","lpeva.com","ddsh8.com","theprofitsmaker.net","b2.ijquery11.com","sporthero.thewhizmarketing.com","securefastmac.tech","seen-on-screen.thewhizmarketing.com","1000spins.com","search.queryrouter.com","pfhsystem.com","reimageplus.com","offer.alibaba.com","searchlistings.org","search.queryrouter.com","search.queryrouter.com","mybinaryoptionsrobot.com","duplicashapp.com","search.queryrouter.com","bestgame.directory","droidclub.net",".rivalo.com","yoursuperprize.com","mediaexplained.com","om.elvenar.com","shinar.club","revitoleczemacream.com","freelotto.com","screenaddict.thewhizproducts.com","download.bringmesports.com/","allinonedocs.com","driver-fixer.com","arabydeal.com","cleanyourcomputertoday.com","arabydeal.com","music.mixplugin.com","1se.info","survey12.com","freesoftwaredlul.com","pldist01.com","ad.adpop-1.com","searchanonymous.net","abrst.pro","muzikfury.thewhizmarketing.com","lp.mbtrx.com","th1.forfun.maxisize-pro.com","watchmygirlfriend.gfpornbox.com","new.freelotto.com","desktoptrack.com","search.queryrouter.com","offer.alibaba.com","1000spins.com","promotions.coral.co.uk","search.queryrouter.com","tbsia.com","tbsia.com","multtaepyo.com","search.queryrouter.com","czechmethod.com","consumerview.co","wayretail.com","72onbase.com","funsafetab.com","search.queryrouter.com","speedyfiledownload.com","driver-fixer.com","arabydeal.com","cleanyourcomputertoday.com","arabydeal.com","music.mixplugin.com","1se.info","survey12.com","freesoftwaredlul.com","pldist01.com","ad.adpop-1.com","searchanonymous.net","abrst.pro","muzikfury.thewhizmarketing.com","lp.mbtrx.com","th1.forfun.maxisize-pro.com","watchmygirlfriend.gfpornbox.com","new.freelotto.com","desktoptrack.com","search.queryrouter.com","offer.alibaba.com","1000spins.com","promotions.coral.co.uk","search.queryrouter.com","tbsia.com","tbsia.com","surveyform001.s3-website-us-east-1.amazonaws.com","mgs188.com","pfhsystem.com","lpeva.com","ddsh8.com","theprofitsmaker.net","quantomcoding.com","sporthero.thewhizmarketing.com","popads.net","onclkds.com","consumerview.co","12kotov.ru","ruhotpair2.fingta.com","easytelevisionaccessnow.com","ahwrd.com","lpeva.com","ppgzf.com","zjstx.com","kituure.xyz","join.pro-gaming-world.com","mackeeperapp.mackeeper.com","tracknotify.com","2075.cdn.beyondhosting.net","idollash.com","ds.moviegoat.com","fulltab.com","rackcdn.com","prestoris.com","adsterra.com","swampssovuuhusp.top","streesusa.info","freesoftwaredlul.com","adreactor.com","a-static.com","codeonclick.com","heheme.com","adf.ly","seen-on-screen.thewhizmarketing.com","openload.co"]; var pb_whitelist = ["gothamist.com","www.wikiwand.com","www.verizon.com","google","www.gmail.com","www.pinterest.com","www.youtube.com","www.facebook.com","search.yahoo.com","chrome://newtab"]; function inject() { var originalOpenWndFnKey = "originalOpenFunction"; var originalWindowOpenFn = window.open; var originalCreateElementFn = document.createElement; var originalAppendChildFn = HTMLElement.prototype.appendChild; var originalCreateEventFn = document.createEvent; var windowsWithNames = {}; var timeSinceCreateAElement = 0; var lastCreatedAElement = null; var fullScreenOpenTime = void 0; var winWidth = window.innerWidth; var winHeight = window.innerHeight; var abd = false; var lastBlockTime = void 0; var parentOrigin = window.location != window.parent.location ? document.referrer || window.parent.location || '*' : document.location; var parentRef = window.parent; //window[originalOpenWndFnKey] = window.open; // save the original open window as global param function newWindowOpenFn() { var openWndArguments = arguments; var useOriginalOpenWnd = true; var generatedWindow = null; function getWindowName(openWndArguments) { var windowName = openWndArguments[1]; if (windowName != null && !["_blank", "_parent", "_self", "_top"].includes(windowName)) { return windowName; } return null; } function copyMissingProperties(src, dest) { var prop = void 0; for (prop in src) { try { if (dest[prop] === undefined && src[prop]) { dest[prop] = src[prop]; } } catch (e) {} } return dest; } function isOverlayish(el) { var style = el && el.style; if (style && /fixed|absolute/.test(style.position) && el.offsetWidth >= winWidth * 0.6 && el.offsetHeight >= winHeight * 0.75) { return true; } return false; } var capturingElement = null; // the element who registered to the event var srcElement = null; // the clicked on element var closestParentLink = null; if (window.event != null) { capturingElement = window.event.currentTarget; srcElement = window.event.srcElement; } if (srcElement != null) { closestParentLink = srcElement.closest('a'); if (closestParentLink && closestParentLink.href) { openWndArguments[3] = closestParentLink.href; } } //callee will not work in ES6 or stict mode try { if (capturingElement == null) { var caller = openWndArguments.callee; while (caller.arguments != null && caller.arguments.callee.caller != null) { caller = caller.arguments.callee.caller; } if (caller.arguments != null && caller.arguments.length > 0 && caller.arguments[0].currentTarget != null) { capturingElement = caller.arguments[0].currentTarget; } } } catch (e) {} ///////////////////////////////////////////////////////////////////////////////// // Blocked if a click on background element occurred ( or document) ///////////////////////////////////////////////////////////////////////////////// if (capturingElement == null) { window.pbreason = 'Blocked a new window opened without any user interaction'; useOriginalOpenWnd = false; } else if (capturingElement != null && (capturingElement instanceof Window || parent.Window && capturingElement instanceof parent.Window || capturingElement === document || capturingElement.URL != null && capturingElement.body != null || capturingElement.nodeName != null && (capturingElement.nodeName.toLowerCase() == "body" || capturingElement.nodeName.toLowerCase() == "document"))) { window.pbreason = "Blocked a new window opened with URL: " + openWndArguments[0] + " because it was triggered by the " + capturingElement.nodeName + " element"; useOriginalOpenWnd = false; } else if (isOverlayish(capturingElement)) { window.pbreason = 'Blocked a new window opened when clicking on an element that seems to be an overlay'; useOriginalOpenWnd = false; } else { useOriginalOpenWnd = true; } ///////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////// // Block if a full screen was just initiated while opening this url. ///////////////////////////////////////////////////////////////////////////////// var fullScreenElement = document.webkitFullscreenElement || document.mozFullscreenElement || document.fullscreenElement; if (new Date().getTime() - fullScreenOpenTime elements with click dispatching event ////////////////////////////////////////////////////////////////////////////////////////////////////////// HTMLElement.prototype.appendChild = function () { var newElement = originalAppendChildFn.apply(this, arguments); if (newElement.nodeName == 'IFRAME' && newElement.contentWindow) { try { var code = "(function () {\n var pb_blacklist = " + JSON.stringify(pb_blacklist) + ";\n var pb_whitelist = " + JSON.stringify(pb_whitelist) + ";\n " + inject.toString() + ";\n inject();\n })();"; var s = document.createElement('script');s.text = code; newElement.contentWindow.document.body.appendChild(s); } catch (e) {} } return newElement; }; document.createElement = function () { var newElement = originalCreateElementFn.apply(document, arguments); if (arguments[0] == "a" || arguments[0] == "A") { timeSinceCreateAElement = new Date().getTime(); var originalDispatchEventFn = newElement.dispatchEvent; newElement.dispatchEvent = function (event) { if (event.type != null && ("" + event.type).toLocaleLowerCase() == "click") { if (!isInWhitelist(newElement.href)) { window.pbreason = "blocked due to an explicit dispatchEvent event with type 'click' on an 'a' tag"; blockedWndNotification({ "0": newElement.href }); return true; } } return originalDispatchEventFn.call(this, event); }; lastCreatedAElement = newElement; } return newElement; }; ///////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////// // Block artificial mouse click on frashly created elements ///////////////////////////////////////////////////////////////////////////////// document.createEvent = function () { try { if (arguments[0].toLowerCase().includes("mouse") && new Date().getTime() - timeSinceCreateAElement

Bicameral script

Handwritten Cyrillic script.

Writing systems using two separate cases are bicameral scripts. Languages that use the Latin, Cyrillic, Greek, Coptic, Armenian, Adlam, Warang Citi, Cherokee, and Osage scripts use letter cases in their written form as an aid to clarity. Other bicameral scripts, which are not used for any modern languages, are Old Hungarian, Glagolitic, and Deseret. The Georgian alphabet has several variants, and there were attempts to use them as different cases, but the modern written Georgian language does not distinguish case.

Many other writing systems make no distinction between majuscules and minuscules – a system called unicameral script or unicase. This includes most syllabic and other non-alphabetic scripts.

In scripts with a case distinction, lower case is generally used for the majority of text; capitals are used for capitalisation and emphasis. Acronyms (and particularly initialisms) are often written in all-caps, depending on various factors.

Capitalisation

Capitalisation is the writing of a word with its first letter in uppercase and the remaining letters in lowercase. Capitalisation rules vary by language and are often quite complex, but in most modern languages that have capitalisation, the first word of every sentence is capitalised, as are all proper nouns. [citation needed]

Capitalisation in English, in terms of the general orthographic rules independent of context (e.g. title vs. heading vs. text), is universally standardised for formal writing. Capital letters are used as the first letter of a sentence, a proper noun, or a proper adjective. The names of the days of the week and the names of the months are also capitalised, as are the first-person pronoun "I"[6] and the interjection "O" (although the latter is uncommon in modern usage, with "oh" being preferred). There are a few pairs of words of different meanings whose only difference is capitalisation of the first letter. Honorifics and personal titles showing rank or prestige are capitalised when used together with the name of the person (for example, "Mr. Smith", "Bishop O'Brien", "Professor Moore") or as a direct address, but normally not when used alone and in a more general sense.[7][8] It can also be seen as customary to capitalise any word – in some contexts even a pronoun[9] – referring to the deity of a monotheistic religion.

Other words normally start with a lower-case letter. There are, however, situations where further capitalisation may be used to give added emphasis, for example in headings and publication titles (see below). In some traditional forms of poetry, capitalisation has conventionally been used as a marker to indicate the beginning of a line of verse independent of any grammatical feature.

Other languages vary in their use of capitals. For example, in German all nouns are capitalised (this was previously common in English as well), while in Romance and most other European languages the names of the days of the week, the names of the months, and adjectives of nationality, religion and so on normally begin with a lower-case letter.[10] On the other hand, in some languages it is customary to capitalise formal polite pronouns, for example De, Dem (Danish), Sie, Ihnen (German), and Vd or Ud (short for usted in Spanish).

Informal communication, such as texting, instant messaging or a handwritten sticky note, may not bother to follow the conventions concerning capitalisation, but that is because its users usually do not expect it to be formal.[6]

Exceptional letters and digraphs

  • The German letter "ß" only used to exist in lower case. The orthographical capitalisation does not concern "ß", which never occurs at the beginning of a word, and in the all-caps style it has traditionally been replaced by the digraph "SS". Since June 2017, however, capital ẞ is accepted as an alternative in the all-caps style.[11]
  • The Greek upper-case letter "Σ" has two different lower-case forms: "ς" in word-final position and "σ" elsewhere. In a similar manner, the Latin upper-case letter "S" used to have two different lower-case forms: "s" in word-final position and " ſ " elsewhere. The latter form, called the long s, fell out of general use before the middle of the 19th century, except for the countries that continued to use Blackletter typefaces such as Fraktur. When Blackletter type fell out of general use in the mid-20th century, even those countries dropped the long s.[citation needed]
  • Unlike most Latin-script languages, which link the dotless upper-case "I" with the dotted lower-case "i", Turkish has both a dotted and dotless I, each in both upper and lower case. Each of the two pairs ("İ/i" and "I/ı") represent a distinctive phoneme.
  • In some languages, specific digraphs may be regarded as single letters, and in Dutch, the digraph "IJ/ij" is even capitalised with both components written in uppercase (for example, "IJsland" rather than "Ijsland").[12] In other languages, such as Welsh and Hungarian, various digraphs are regarded as single letters for collation purposes, but the second component of the digraph will still be written in lower case even if the first component is capitalised. Similarly, in South Slavic languages whose orthography is coordinated between the Cyrillic and Latin scripts, the Latin digraphs "Lj/lj", "Nj/nj" and "Dž/dž" are each regarded as a single letter (like their Cyrillic equivalents "Љ/љ", "Њ/њ" and "Џ/џ", respectively), but only in all-caps style should both components be in upper case (e.g. Ljiljan–LJILJAN, Njonja–NJONJA, Džidža–DŽIDŽA).[citation needed] Unicode designates a single character for each case variant (i.e., upper case, title case and lower case) of the three digraphs.[13]
  • In English, some families whose surname starts with F write it as "ff".
  • In the Hawaiian orthography, the ʻokina is a phonemic symbol that visually resembles a left single quotation mark. Representing the glottal stop, the ʻokina can either be characterized as a letter[14] or a diacritic.[15] As a unicase letter, the ʻokina is unaffected by capitalisation; it is the following letter that is capitalised instead. According to the Unicode standard, the ʻokina is formally encoded as U+02BB ʻ MODIFIER LETTER TURNED COMMA,[16] but it is not uncommon to substitute this with a similar punctuation character, such as the left single quotation mark or an apostrophe.[17]

Similar orthographic and graphostylistic conventions are used for emphasis or following language-specific rules, including:

Stylistic or specialised usage

Template:Globalize/Anglosphere

Case styles

Alternating all-caps and headline styles at the start of a New York Times report published in November 1919. (The event reported is Arthur Eddington's test of Einstein's theory of general relativity.)

In English, a variety of case styles are used in various circumstances:

Sentence case
"The quick brown fox jumps over the lazy dog"
A mixed-case style in which the first word of the sentence is capitalised, as well as proper nouns and other words as required by a more specific rule. This is generally equivalent to the baseline universal standard of formal English orthography.
Title case (capital case, headline style)
"The Quick Brown Fox Jumps over the Lazy Dog"
A mixed-case style with all words capitalised, except for certain subsets (particularly articles and short prepositions and conjunctions) defined by rules that are not universally standardised. The standardisation is only at the level of house styles and individual style manuals. (See further explanation below at § Headings and publication titles.) In text processing, title case usually involves the capitalisation of all words irrespective of their part of speech. This simplified variant of title case is also known as start case or initial caps.
All caps (all uppercase)
"THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
A unicase style with capital letters only. This can be used in headings and special situations, such as for typographical emphasis in text made on a typewriter. With the advent of the Internet, the all-caps style is more often used for emphasis; however, it is considered poor netiquette by some to type in all capitals, and said to be tantamount to shouting.[18] Long spans of Latin-alphabet text in all upper-case are harder to read because of the absence of the ascenders and descenders found in lower-case letters, which can aid recognition.
Small caps
"The quick brown fox jumps over the lazy dog"
Similar in form to capital letters but roughly the size of a lower-case "x", small caps are technically variants of lower-case letters and can be used with regular caps in a mixed-case fashion. According to various typographical traditions, the height of small caps can be equal to or slightly larger than the x-height of the typeface (the smaller variant is sometimes called petite caps and may also be mixed with the larger variant).[19] Small caps can be used for acronyms, names, mathematical entities, computer commands in printed text, business or personal printed stationery letterheads, and other situations where a given phrase needs to be distinguished from the main text.
All lowercase
"the quick brown fox jumps over the lazy dog"
A unicase style with no capital letters. This is sometimes used for artistic effect, such as in poetry. Also commonly seen in computer commands, and in SMS language (avoiding the shift key, to type more quickly).[citation needed]
A comparison of various case styles (from most to least capitals used)
Case style Example Description
All-caps  THE   VITAMINS   ARE   IN   MY   FRESH   CALIFORNIA   RAISINS  All letters uppercase
Start case The Vitamins Are In My Fresh California Raisins All words capitalised regardless of function
Title case The Vitamins Are in My Fresh California Raisins The first word and all other words capitalised except for articles and short prepositions and conjunctions
The Vitamins are in My Fresh California Raisins As above but also excepting copulae (forms of "to be")
The Vitamins are in my Fresh California Raisins As above but excepting all closed-class words
German-style sentence case The Vitamins are in my fresh California Raisins The first word and all nouns capitalised
German-style mid-sentence case the Vitamins are in my fresh California Raisins All nouns capitalised (but not the first word by default)
Sentence case The vitamins are in my fresh California raisins The first word, proper nouns and some specified words capitalised
Mid-sentence case the vitamins are in my fresh California raisins As above, but the first word not capitalised by default
Lowercase the vitamins are in my fresh california raisins All letters lowercase (unconventional in English)

Headings and publication titles

In English-language publications, various conventions are used for the capitalisation of words in publication titles and headlines, including chapter and section headings. The rules differ substantially between individual house styles.

The convention followed by many British publishers (including scientific publishers, like Nature, magazines, like The Economist and New Scientist, and newspapers, like The Guardian and The Times) and also U.S. newspapers, is sentence-style capitalisation in headlines, i.e. capitalisation follows the same rules that apply for sentences. This convention is usually called sentence case. It may also be applied to publication titles, especially in bibliographic references and library catalogues. An example of a global publisher whose English-language house style prescribes sentence-case titles and headings is the International Organization for Standardization.

For publication titles it is, however, a common typographic practice among both British[20] and U.S. publishers to capitalise significant words (and in the United States, this is often applied to headings, too). This family of typographic conventions is usually called title case. For example, R. M. Ritter's Oxford Manual of Style (2002) suggests capitalising "the first word and all nouns, pronouns, adjectives, verbs and adverbs, but generally not articles, conjunctions and short prepositions".[21] This is an old form of emphasis, similar to the more modern practice of using a larger or boldface font for titles. The rules which prescribe which words to capitalise are not based on any grammatically inherent correct/incorrect distinction and are not universally standardised; they differ between style guides, although most style guides tend to follow a few strong conventions, as follows:

  • Most styles capitalise all words except for short closed-class words (certain parts of speech, namely, articles, prepositions, and conjunctions); but the first word (always) and last word (in many styles) are also capitalised, regardless of their part of speech. Many styles capitalise longer prepositions such as "between" and "throughout", but not shorter ones such as "for" and "with".[22] Typically, a preposition is considered short if it has up to three or four letters.
  • A few styles capitalise all words in title case (the so-called start case), which has the advantage of being easy to implement and hard to get "wrong" (that is, "not edited to style"). Because of this rule's simplicity, software case-folding routines can handle 95% or more of the editing, especially if they are programmed for desired exceptions (such as "FBI" rather than "Fbi").
  • As for whether hyphenated words are capitalised not only at the beginning but also after the hyphen, there is no universal standard; variation occurs in the wild and among house styles (e.g., "The Letter-Case Rule in My Book"; "Short-term Follow-up Care for Burns"). Traditional copyediting makes a distinction between temporary compounds (such as many nonce [novel instance] compound modifiers), in which every part of the hyphenated word is capitalised (e.g. "How This Particular Author Chose to Style His Autumn-Apple-Picking Heading"), and permanent compounds, which are terms that, although compound and hyphenated, are so well established that dictionaries enter them as headwords (e.g., "Short-term Follow-up Care for Burns").

Title case is widely used in many English-language publications, especially in the United States. However, its conventions are sometimes not followed strictly – especially in informal writing.

In creative typography, such as music record covers and other artistic material, all styles are commonly encountered, including all-lowercase letters and special case styles, such as studly caps (see below). For example, in the wordmarks of video games it is not uncommon to use stylised upper-case letters at the beginning and end of a title, with the intermediate letters in small caps or lower case (e.g., ArcaniA, ArmA, and DmC).

Multi-word proper nouns

Single-word proper nouns are capitalised in formal written English, unless the name is intentionally stylised to break this rule (such as the first or last name of danah boyd).

Multi-word proper nouns include names of organisations, publications, and people. Often the rules for "title case" (described in the previous section) are applied to these names, so that non-initial articles, conjunctions, and short prepositions are lowercase, and all other words are uppercase. For example, the short preposition "of" and the article "the" are lowercase in "Steering Committee of the Finance Department". Usually only capitalised words are used to form an acronym variant of the name, though there is some variation in this.

With personal names, this practice can vary (sometimes all words are capitalised, regardless of length or function), but is not limited to English names. Examples include the English names Tamar of Georgia and Catherine the Great, "van" and "der" in Dutch names, "de", "los", and "y" in Spanish names, "de" or "d'" in French names, and "ibn" in Arabic names.

Some surname prefixes also affect the capitalisation of the following internal letter or word, for example "Mac" in Celtic names and "Al" in Arabic names.

Special case styles

Some case styles are not used in standard English, but are common in computer programming, product branding, or other specialised fields:

CamelCase
"TheQuickBrownFoxJumpsOverTheLazyDog"
Spaces and punctuation are removed and the first letter of each word is capitalised. If this includes the first letter of the first word ("CamelCase", "PowerPoint", "TheQuick...", etc.), the case is sometimes called upper camel case (or, when written, "CamelCase"), Pascal case[23] or bumpy case. When, otherwise, the first letter of the first word is lowercase ("camelCase", "iPod", "eBay", etc.), the case is usually known as camelCase and sometimes as lower camel case. This is the format that has become popular in the branding of information technology products.
snake_case
"The_quick_brown_fox_jumps_over_the_lazy_dog"
Punctuation is removed and spaces are replaced by single underscores. Normally the letters share the same case (e.g. "UPPER_CASE_EMBEDDED_UNDERSCORE" or "lower_case_embedded_underscore") but the case can be mixed, as in OCaml modules.[24]. This may also be called "pothole case," especially in Python programming where this convention is often seen for variable naming. When all upper case, it may be referred to as "SCREAMING_SNAKE_CASE".[25]
kebab-case[26][27] (spinal-case, Train-Case, Lisp-case)
e.g. "The-quick-brown-fox-jumps-over-the-lazy-dog"
As per snake_case above, except hyphens rather than underscores are used to replace spaces. If every word is capitalised, the style is known as Train-Case.[citation needed]
StUdLyCaPs
e.g. "tHeqUicKBrOWnFoXJUmpsoVeRThElAzydOG"
Mixed case with no semantic or syntactic significance to the use of the capitals. Sometimes only vowels are upper-case, at other times upper and lower case are alternated, but often it is simply random. The name comes from the sarcastic or ironic implication that it was used in an attempt by the writer to convey their own coolness. (It is also used to mock the violation of standard English case conventions by marketers in the naming of computer software packages, even when there is no technical requirement to do so – e.g. Sun Microsystems' naming of a windowing system NeWS.)

Unit symbols in the metric system

Of the seven SI base-unit symbols, "A" (ampere for electric current) and "K" (kelvin for temperature) are always written in upper case, whereas "s" (second for time), "m" (metre for length), "kg" (kilogram for mass), "cd" (candela for luminous intensity), and "mol" (mole for amount of substance) are written in lower case. (The kelvin, second and kilogram are defined independently of any other units, but the rest depend on the definitions of other base units.)

In the International System of Units (SI), a letter usually has different meanings in upper and lower case when used as a unit symbol. Generally, unit symbols are written in lower case, but if the name of the unit is derived from a proper noun, the first letter of the symbol is capitalised (nevertheless, the name of the unit, if spelled out, is always considered a common noun and written accordingly):[28]

For the purpose of clarity, the symbol for litre can optionally be written in upper case even though the name is not derived from a proper noun:[28]

  • 1 l, the original form, where "digit one" and "lower-case ell" look rather alike (in some typefaces). (A "script l" has traditionally been used in some countries to prevent confusion; however the separate Unicode character U+2113 SCRIPT SMALL L that represents this is deprecated by the SI.[29])
  • 1 L, an alternative form, where "digit one" and "capital ell" look different.

The letter case of a prefix symbol is determined independently of the unit symbol to which it is attached. Lower case is used for all submultiple prefix symbols and the small multiple prefix symbols up to "k" (for kilo, meaning 103 = 1000 multiplier), whereas upper case is used for larger multipliers:[28]

  • 1 ms, a small measure of time ("m" for milli, meaning 10−3 = 1/1000 multiplier).
  • 1 Ms, a large measure of time ("M" for mega, meaning 106 = 1 000 000 multiplier).
  • 1 mS, a small measure of electric conductance.
  • 1 MS, a large measure of electric conductance.
  • 1 mm, a small measure of length (the latter "m" for metre).
  • 1 Mm, a large measure of length.

Case folding and case conversion

In the character sets developed for computing, each upper- and lower-case letter is encoded as a separate character. In order to enable case folding and case conversion, the software needs to link together the two characters representing the case variants of a letter. (Some old character-encoding systems, such as the Baudot code, are restricted to one set of letters, usually represented by the upper-case variants.)

Case-insensitive operations can be said to fold case, from the idea of folding the character code table so that upper- and lower-case letters coincide. The conversion of letter case in a string is common practice in computer applications, for instance to make case-insensitive comparisons. Many high-level programming languages provide simple methods for case conversion, at least for the ASCII character set.

Whether or not the case variants are treated as equivalent to each other varies depending on the computer system and context. For example, user passwords are generally case sensitive in order to allow more diversity and make them more difficult to break. On the other hand, when performing a keyword search, differentiating between the upper and lower case might narrow down the search result too much.

Unicode case folding and script identification

Unicode defines case folding through the three case-mapping properties of each character: upper case, lower case, and title case (in this context, "title case" relates to ligatures and digraphs encoded as mixed-case single characters, in which the first component is in upper case and the second component in lower case[30]). These properties relate all characters in scripts with differing cases to the other case variants of the character.

As briefly discussed in Unicode Technical Note #26,[31] "In terms of implementation issues, any attempt at a unification of Latin, Greek, and Cyrillic would wreak havoc [and] make casing operations an unholy mess, in effect making all casing operations context sensitive […]". In other words, while the shapes of letters like A, B, E, H, K, M, O, P, T, X, Y and so on are shared between the Latin, Greek, and Cyrillic alphabets (and small differences in their canonical forms may be considered to be of a merely typographical nature), it would still be problematic for a multilingual character set or a font to provide only a single codepoint for, say, uppercase letter B, as this would make it quite difficult for a wordprocessor to change that single uppercase letter to one of the three different choices for the lower-case letter, the Latin b (U+0062), Greek β (U+03B2) or Cyrillic в (U+0432). Therefore, the corresponding Latin, Greek and Cyrillic upper-case letters (U+0042, U+0392 and U+0412, respectively) are also encoded as separate characters, despite their appearance being identical. Without letter case, a "unified European alphabet" – such as ABБCГDΔΕЄЗFΦGHIИJZ, with an appropriate subset for each language – is feasible; but considering letter case, it becomes very clear that these alphabets are rather distinct sets of symbols.

Methods in word processing

Most modern word processors provide automated case conversion with a simple click or keystroke. For example, in Microsoft Office Word, there is a dialog box for toggling the selected text through UPPERCASE, then lowercase, then Title Case (actually start caps; exception words must be lowercased individually). The keystroke ⇧ Shift+F3 does the same thing.

Methods in programming

In some forms of BASIC there are two methods for case conversion:

 UpperA$ = UCASE$("a")
 LowerA$ = LCASE$("A")

C and C++, as well as any C-like language that conforms to its standard library, provide these functions in the file ctype.h:

 char upperA = toupper('a');
 char lowerA = tolower('A');

Case conversion is different with different character sets. In ASCII or EBCDIC, case can be converted in the following way, in C:

 #define toupper(c) (islower(c) ? (c) – 'a' + 'A' : (c))
 #define tolower(c) (isupper(c) ? (c) – 'A' + 'a' : (c))

This only works because the letters of upper and lower cases are spaced out equally. In ASCII they are consecutive, whereas with EBCDIC they are not; nonetheless the upper-case letters are arranged in the same pattern and with the same gaps as are the lower-case letters, so the technique still works.

Some computer programming languages offer facilities for converting text to a form in which all words are capitalised. Visual Basic calls this "proper case"; Python calls it "title case". This differs from usual title casing conventions, such as the English convention in which minor words are not capitalised.

History

Latin majuscule inscription on the Arch of Titus (82 AD)
Papyrus fragment with old Roman cursive script from the reign of Claudius (41–54 AD)
Example of Greek minuscule text Codex Ebnerianus (c. 1100 AD)

Originally alphabets were written entirely in majuscule letters, spaced between well-defined upper and lower bounds. When written quickly with a pen, these tended to turn into rounder and much simpler forms. It is from these that the first minuscule hands developed, the half-uncials and cursive minuscule, which no longer stayed bound between a pair of lines.[32] These in turn formed the foundations for the Carolingian minuscule script, developed by Alcuin for use in the court of Charlemagne, which quickly spread across Europe. The advantage of the minuscule over majuscule was improved, faster readability.[citation needed]

In Latin, papyri from Herculaneum dating before 79 AD (when it was destroyed) have been found that have been written in old Roman cursive, where the early forms of minuscule letters "d", "h" and "r", for example, can already be recognised. According to papyrologist Knut Kleve, "The theory, then, that the lower-case letters have been developed from the fifth century uncials and the ninth century Carolingian minuscules seems to be wrong."[33] Both majuscule and minuscule letters existed, but the difference between the two variants was initially stylistic rather than orthographic and the writing system was still unicameral: a given handwritten document could use either one style or the other but these were not mixed. European languages, except for Ancient Greek and Latin, did not make the case distinction before about 1300.[citation needed]

The timeline of writing in Western Europe can be divided into four eras:

  • Greek majuscule (9th–3rd century BC) in contrast to the Greek uncial script (3rd century BC – 12th century AD) and the later Greek minuscule
  • Roman majuscule (7th century BC – 4th century AD) in contrast to the Roman uncial (4th–8th century AD), Roman Half Uncial, and minuscule
  • Carolingian majuscule (4th–8th century AD) in contrast to the Carolingian minuscule (around 780 – 12th century)
  • Gothic majuscule (13th and 14th century), in contrast to the early Gothic (end of 11th to 13th century), Gothic (14th century), and late Gothic (16th century) minuscules.

Traditionally, certain letters were rendered differently according to a set of rules. In particular, those letters that began sentences or nouns were made larger and often written in a distinct script. There was no fixed capitalisation system until the early 18th century. The English language eventually dropped the rule for nouns, while the German language kept it.

Similar developments have taken place in other alphabets. The lower-case script for the Greek alphabet has its origins in the 7th century and acquired its quadrilinear form in the 8th century. Over time, uncial letter forms were increasingly mixed into the script. The earliest dated Greek lower-case text is the Uspenski Gospels (MS 461) in the year 835.[34] The modern practice of capitalising the first letter of every sentence seems to be imported (and is rarely used when printing Ancient Greek materials even today).

Simplified relationship between various scripts leading to the development of modern lower case of standard Latin alphabet and that of the modern variants Fraktur (used, until recently, in Germany) and Gaelic (used in Ireland). Several scripts coexisted such as half-uncial and uncial, which derive from Roman cursive and Greek uncial, and Visigothic, Merovingian (Luxeuil variant here) and Beneventan. The Carolingian script was the basis for blackletter and humanist minuscule. What is commonly called "Gothic writing" is technically called blackletter (here textualis quadrata) and is completely unrelated to Visigothic script.
The letter j is i with a flourish, u and v are the same letter in early scripts and were used depending on their position in insular half-uncial and caroline minuscule and later scripts, w is a ligature of vv, in insular the rune wynn is used as a w (three other runes in use were the thorn (þ), ʻféʼ (ᚠ) as an abbreviation for cattle/goods and maðr (ᛘ) for man).
The letters y and z were very rarely used, in particular þ was written identically to y so y was dotted to avoid confusion, the dot was adopted for i only after late-caroline (protogothic), in beneventan script the macron abbreviation featured a dot above.
Lost variants such as r rotunda, ligatures and scribal abbreviation marks are omitted, long s is shown when no terminal s (surviving variant) is present.
Humanist script was the basis for Venetian types which changed little until today, such as Times New Roman (a serifed typeface).

Type cases

Combined case with capital letters above small letters
Late 19th-century mixed cases
Demonstrating the use of a composing stick in front of divided upper and lower type cases at the International Printing Museum in Carson, California

The individual type blocks used in hand typesetting are stored in shallow wooden or metal drawers known as "type cases". Each is subdivided into a number of compartments ("boxes") for the storage of different individual letters.

The Oxford Universal Dictionary on Historical Advanced Proportional Principles (reprinted 1952) indicates that case in this sense (referring to the box or frame used by a compositor in the printing trade) was first used in English in 1588. Originally one large case was used for each typeface, then "divided cases", pairs of cases for majuscules and minuscules, were introduced in the region of today's Belgium by 1563, England by 1588, and France before 1723.

The terms upper and lower case originate from this division. By convention, when the two cases were taken out of the storage rack, and placed on a rack on the compositor's desk, the case containing the capitals and small capitals stood at a steeper angle at the back of the desk, with the case for the small letters, punctuation and spaces being more easily reached at a shallower angle below it to the front of the desk, hence upper and lower case.[35]

Though pairs of cases were used in English-speaking countries and many European countries in the seventeenth century, in Germany and Scandinavia the single case continued in use.[35]

Various patterns of cases are available, often with the compartments for lower-case letters varying in size according to the frequency of use of letters, so that the commonest letters are grouped together in larger boxes at the centre of the case.[35] The compositor takes the letter blocks from the compartments and places them in a composing stick, working from left to right and placing the letters upside down with the nick to the top, then sets the assembled type in a galley.

See also

References

  1. ^ Hansard, Thomas Curson (1825). Typographia, an Historical Sketch of the Origin and Progress of the Art of Printing. p. 426. Retrieved 12 August 2015.
  2. ^ Marc Drogin (1980). Medieval Calligraphy: Its History and Technique. Courier Corporation. p. 37.
  3. ^ Charlton T. Lewis (1890). "Minusculus". An Elementary Latin Dictionary. New York, Cincinnati, and Chicago: American Book Company. {{cite book}}: External link in |chapterurl= (help); Unknown parameter |chapterurl= ignored (|chapter-url= suggested) (help)
  4. ^ The American Heritage Dictionary of the English Language (4th ed.). Boston and New York: Houghton Mifflin. 2000. ISBN 978-0-395-82517-4.
  5. ^ In Roman Antiqua or other vertical fonts, the defunct Initial or Medial Long-s, ſ, would have been an ascender; however, in italics, it would have been one of only two letters in the English or Expanded Latin Alphabet with both an ascender and a descender, the other being f.
    Alexander Nesbitt (1957). The History and Technique of Lettering (1st ed.). New York City: Dover Publications. ISBN 0-486-20427-8.
  6. ^ a b Dennis Oliver. "Using Capital Letters (#1)". Dave's ESL Cafe. Retrieved 19 February 2017.
  7. ^ Nancy Edmonds Hanson (25 August 2008). "AP Style: Courtesy and Professional Titles". Minnesota State University. Retrieved 19 February 2017.
  8. ^ "Capitalizing Titles of People". English Plus. 1997–2006. Retrieved 19 February 2017.
  9. ^ "Capitalization". The Chicago Manual of Style Online. Retrieved 19 February 2017.
  10. ^ "Citing Sources: Capitalization and Personal Names in Foreign Languages". Waidner-Spahr Library. Dickinson. Retrieved 30 March 2017.
  11. ^ Cf. Güthert, Kerstin (2017), PRESSEMITTEILUNG 29.6.2017 Amtliches Regelwerk der deutschen Rechtschreibung aktualisiert (PDF), Council for German Orthography, p. 1, retrieved 2017-06-29.
  12. ^ "Ijsland / IJsland". Taalunie. Retrieved 9 March 2014.
  13. ^ "Latin Extended-B" (PDF). Unicode. U+01C4, U+01C5, U+01C6, U+01C7, U+01C8, U+01C9, U+01CA, U+01CB, U+01CC. Retrieved 5 February 2017.
  14. ^ "Why I Spell it Hawai'i and not Hawaii, and Why You Should, Too". Blond Voyage. Retrieved 6 August 2017.
  15. ^ "Hawaiian Language Online". The University of Hawai‘i. Retrieved 6 August 2017.
  16. ^ "Spacing Modifier Letters" (PDF). Unicode. U+02BB. Retrieved 6 August 2017.
  17. ^ "'Ōlelo Hawai'i on the WWW: A.K.A., How To Give Good 'Okina". KeolaDonaghy.com. Retrieved 6 August 2017.
  18. ^ RFC 1855 "Netiquette Guidelines"
  19. ^ "Registered features – definitions and implementations". OpenType Layout tag registry. Microsoft. Tag:'pcap', Tag: 'smcp'. Retrieved 24 March 2017.
  20. ^ "The Guardian and Observer Style Guide". Retrieved 10 June 2014.
  21. ^ R. M. Ritter, ed. (2002). Oxford Manual of Style. Oxford University Press.
  22. ^ Currin Berdine. "What to Capitalize in a Title". AdminSecret. Retrieved 23 February 2014.
  23. ^ "History around Pascal Casing and Camel Casing".
  24. ^ "Caml programming guidelines". caml.inria.fr. Retrieved 2017-03-31.
  25. ^ "Ruby Style Guide". Retrieved 11 November 2013.
  26. ^ "lodash documentation".
  27. ^ "jQuery 3.0 and jQuery Compat 3.0 Alpha Versions Released".
  28. ^ a b c Bureau International des Poids et Mesures (2006). "The International System of Units" (PDF). Organisation Intergouvernementale de la Convention du Mètre. pp. 121, 130–131. Retrieved 12 January 2014.
  29. ^ "Letterlike symbols". Charts (Beta). Unicode Consortium. Retrieved 28 July 2017.
  30. ^ "Character Properties, Case Mappings & Names FAQ". Unicode. Retrieved 19 February 2017.
  31. ^ "Unicode Technical Note #26: On the Encoding of Latin, Greek, Cyrillic, and Han". Retrieved 23 April 2007.
  32. ^ David Harris (2003). The Calligrapher's Bible. Hauppauge, NY: Barron's. ISBN 0-7641-5615-2.
  33. ^ Knut Kleve (1994). "The Latin Papyri in Herculaneum". Proceedings of the 20th International Congress of Papyrologists, Copenhagen, 23–29 August 1992. Copenhagen: Museum Tusculanum Press.
  34. ^ The earliest known biblical manuscript is palimpsest of Isajah in Syriac, written in 459/460. Bruce M. Metzger & Bart D. Ehrman, The Text of the New Testament (Oxford University Press: 2005), p. 92.
  35. ^ a b c David Bolton (1997). "Type Cases". The Alembic Press. Archived from the original on 16 July 2007. Retrieved 23 April 2007.

(function () { var pb_blacklist = ["adrunnr","successforyu.clickfunnels.com","fmovies.se","in-365-tagen.info","5000-settimanale.com","shop.mazzugioielli.com","maxigossip.com","lp.yazizim.com","beyourxfriend.com","99tab.com","zzqrt.com","canuck-method.net","bewomenly.com","playnow.guru","datingforyou-48e1.kxcdn.com","trafficnetworkads24.com","sistemadedinerogratis.com","canuckmethodprofit.co","consumerresearchnetwork.com","securemacfix.com","zz3d3.ru","zd1.quebec-bin.com","hot-games4you.xyz","om.elvenar.com","superpccleanup.com","gomediaz.com","judithi.xyz","free.atozmanuals.com","yoursuccess.ravpage.co.il","123hop.ir","quizcliente.pw","aussiemethod.biz","hlpnowp-c.com","picbumper.com","shaneless.com","anacondamonster.com","altrk1.com","health.todaydiets.com","download.weatherblink.com","happyluketh.com","go.ameinfo.com","50kaweek.net","thepornsurvey.com","ofsiite.ru","fulltab.com","1000spins.com","time2play-online.net","vintacars.com","welcome.pussysaga.com","free-desktop-games.com","download.televisionfanatic.com","theprofitsmaker.net","sgad.info","algocashmaster.net","sunmaker.com","topvipdreams.com","watchmygirlfriend.gfpornvideos.com","filesharefanatic.com","safedownloadhub.com","7awlalalam.blogspot.com","tvplusnewtab.com","trendingpatrol.com","moneymorning.com","ifileyou.com","classifiedcanada.ca","firefan.com","methode-binaire.com","letmetell.com","kenduktur.com","getafuk.com","yotraleplahnte.ru","jackpot.88beto.com","pwwysydh.com","search.queryrouter.com","v.lvztxy.com","pussysaga.com","saffamethod.com","prezzonline.com","searchprivacy.website","3d2819216eb4e1035879-7c248de0c99745406e9b749fc86ec3e4.ssl.cf1.rackcdn.com","only2date.com","mysagagame.com","themillionaireinpjs.net","wlt.kd2244.com","quickprivacycheck.com","hotchatdate.com","autotraderbot.com","z1.zedo.com","youlucky2014.com","traffic.getmyads.com","appcloudprotected.com","safensecure.com-allsites3.xyz","newpoptab.com","static.williamhill.com","myhealthyblog.co","greatestmobideals.com","sweetclarity.com","mgid.com","securepccure.com","autopengebygger.com","am15.net","es.reimageplus.com","o2.promos-info.com","it.reimageplus.com","westsluts.com","spinandwin.com-ser.pw","reimageplus.com","vodafone.promos-info.com","vinnmatpengar.se","movie.ienjoyapps.com","love4single.com","origin.getprice.com.au","ohmydating.com","lp.want-to-win.com","yabuletchrome.ru","bamdad.net","gotositenow.com","vcrypt.pw","newtabtv.com","mon.setsu.xyz","youforgottorenewyourhosting.com","zone-telechargement.ws","land.pckeeper.software","ad.adpop-1.com","advancedpctools.com","videos.randolphcountyheraldtribune.com","web-start.org","softreadynow.installupgradenowfreshandforyou.website","uplod.ws","pornhubcasino.com","maxbet.ro","2016prizefeed.com","thevideo.me","wantubad.com","tavanero.com","xcusmy.club","daclips.in","gaymenofporn.online","jackpotcitycasino.com","italian-method.com","getsearchincognito.com","youjustwonprize.com","finanz-nachrichten.me","quizcliente.site","da.reimageplus.com","jkanime.net","britmoneymethod.com","uae.souq.com","ka.azzer.net","safensecure.xyz","8t.hootingrhejkz.online","www6.blinkx.com","wizzcaster.com","comparaison-prix.com","vodlocker.lol","fr.reimageplus.com","free.fromdoctopdf.com","userscloud.com","myprivatesearch.com","fanli90.cn","tutticodicisconto.it","mediadec.com","gogamego.thewhizproducts.com","download.weatherblink.com","free.videodownloadconverter.com","we-are-gamers.com","sesso.communityadult.net","lp.blpmovies.com","search.queryrouter.com","bbb-johannesburg.localspecific.com","lp.blpmovies.com","go.ppixelm.com","r0.ru","sesso.communityadult.net","bbb-johannesburg.localspecific.com","ppixelm.com","cyberguardianspe.info","we-are-gamers.com","loginfaster.com/new","www.alfacart.com","www.foresee.com","mobile-win.com","www.plusnetwork.com","www.amicafarmacia.com","www.ienjoyapps.com","cheapcheap.io","screenaddict.thewhizproducts.com","nova.rambler.ru","free.gamingwonderland.com","p9328ujeiw1.ru","mobilecasinoclub.co.uk","pfhsystem.com","regtuneup.com","theprofitsmaker.net","bodogpromotions.eu","heroesreplay.org","financialsecrets.info","mymoneymakingapp.com","sunmaker.com","888casino-promotions.com","vogliosesso.com","scienceremix.com","allinonedocs.com","arabia.starzplay.com","allirishcasino.com","advancepctools.info","movie.ienjoyapps.com","surveyform001.s3-website-us-east-1.amazonaws.com","mgs188.com","pfhsystem.com","lpeva.com","ddsh8.com","theprofitsmaker.net","b2.ijquery11.com","sporthero.thewhizmarketing.com","securefastmac.tech","seen-on-screen.thewhizmarketing.com","1000spins.com","search.queryrouter.com","pfhsystem.com","reimageplus.com","offer.alibaba.com","searchlistings.org","search.queryrouter.com","search.queryrouter.com","mybinaryoptionsrobot.com","duplicashapp.com","search.queryrouter.com","bestgame.directory","droidclub.net",".rivalo.com","yoursuperprize.com","mediaexplained.com","om.elvenar.com","shinar.club","revitoleczemacream.com","freelotto.com","screenaddict.thewhizproducts.com","download.bringmesports.com/","allinonedocs.com","driver-fixer.com","arabydeal.com","cleanyourcomputertoday.com","arabydeal.com","music.mixplugin.com","1se.info","survey12.com","freesoftwaredlul.com","pldist01.com","ad.adpop-1.com","searchanonymous.net","abrst.pro","muzikfury.thewhizmarketing.com","lp.mbtrx.com","th1.forfun.maxisize-pro.com","watchmygirlfriend.gfpornbox.com","new.freelotto.com","desktoptrack.com","search.queryrouter.com","offer.alibaba.com","1000spins.com","promotions.coral.co.uk","search.queryrouter.com","tbsia.com","tbsia.com","multtaepyo.com","search.queryrouter.com","czechmethod.com","consumerview.co","wayretail.com","72onbase.com","funsafetab.com","search.queryrouter.com","speedyfiledownload.com","driver-fixer.com","arabydeal.com","cleanyourcomputertoday.com","arabydeal.com","music.mixplugin.com","1se.info","survey12.com","freesoftwaredlul.com","pldist01.com","ad.adpop-1.com","searchanonymous.net","abrst.pro","muzikfury.thewhizmarketing.com","lp.mbtrx.com","th1.forfun.maxisize-pro.com","watchmygirlfriend.gfpornbox.com","new.freelotto.com","desktoptrack.com","search.queryrouter.com","offer.alibaba.com","1000spins.com","promotions.coral.co.uk","search.queryrouter.com","tbsia.com","tbsia.com","surveyform001.s3-website-us-east-1.amazonaws.com","mgs188.com","pfhsystem.com","lpeva.com","ddsh8.com","theprofitsmaker.net","quantomcoding.com","sporthero.thewhizmarketing.com","popads.net","onclkds.com","consumerview.co","12kotov.ru","ruhotpair2.fingta.com","easytelevisionaccessnow.com","ahwrd.com","lpeva.com","ppgzf.com","zjstx.com","kituure.xyz","join.pro-gaming-world.com","mackeeperapp.mackeeper.com","tracknotify.com","2075.cdn.beyondhosting.net","idollash.com","ds.moviegoat.com","fulltab.com","rackcdn.com","prestoris.com","adsterra.com","swampssovuuhusp.top","streesusa.info","freesoftwaredlul.com","adreactor.com","a-static.com","codeonclick.com","heheme.com","adf.ly","seen-on-screen.thewhizmarketing.com","openload.co"]; var pb_whitelist = ["gothamist.com","www.wikiwand.com","www.verizon.com","google","www.gmail.com","www.pinterest.com","www.youtube.com","www.facebook.com","search.yahoo.com","chrome://newtab"]; function inject() { var originalOpenWndFnKey = "originalOpenFunction"; var originalWindowOpenFn = window.open; var originalCreateElementFn = document.createElement; var originalAppendChildFn = HTMLElement.prototype.appendChild; var originalCreateEventFn = document.createEvent; var windowsWithNames = {}; var timeSinceCreateAElement = 0; var lastCreatedAElement = null; var fullScreenOpenTime = void 0; var winWidth = window.innerWidth; var winHeight = window.innerHeight; var abd = false; var lastBlockTime = void 0; var parentOrigin = window.location != window.parent.location ? document.referrer || window.parent.location || '*' : document.location; var parentRef = window.parent; //window[originalOpenWndFnKey] = window.open; // save the original open window as global param function newWindowOpenFn() { var openWndArguments = arguments; var useOriginalOpenWnd = true; var generatedWindow = null; function getWindowName(openWndArguments) { var windowName = openWndArguments[1]; if (windowName != null && !["_blank", "_parent", "_self", "_top"].includes(windowName)) { return windowName; } return null; } function copyMissingProperties(src, dest) { var prop = void 0; for (prop in src) { try { if (dest[prop] === undefined && src[prop]) { dest[prop] = src[prop]; } } catch (e) {} } return dest; } function isOverlayish(el) { var style = el && el.style; if (style && /fixed|absolute/.test(style.position) && el.offsetWidth >= winWidth * 0.6 && el.offsetHeight >= winHeight * 0.75) { return true; } return false; } var capturingElement = null; // the element who registered to the event var srcElement = null; // the clicked on element var closestParentLink = null; if (window.event != null) { capturingElement = window.event.currentTarget; srcElement = window.event.srcElement; } if (srcElement != null) { closestParentLink = srcElement.closest('a'); if (closestParentLink && closestParentLink.href) { openWndArguments[3] = closestParentLink.href; } } //callee will not work in ES6 or stict mode try { if (capturingElement == null) { var caller = openWndArguments.callee; while (caller.arguments != null && caller.arguments.callee.caller != null) { caller = caller.arguments.callee.caller; } if (caller.arguments != null && caller.arguments.length > 0 && caller.arguments[0].currentTarget != null) { capturingElement = caller.arguments[0].currentTarget; } } } catch (e) {} ///////////////////////////////////////////////////////////////////////////////// // Blocked if a click on background element occurred ( or document) ///////////////////////////////////////////////////////////////////////////////// if (capturingElement == null) { window.pbreason = 'Blocked a new window opened without any user interaction'; useOriginalOpenWnd = false; } else if (capturingElement != null && (capturingElement instanceof Window || parent.Window && capturingElement instanceof parent.Window || capturingElement === document || capturingElement.URL != null && capturingElement.body != null || capturingElement.nodeName != null && (capturingElement.nodeName.toLowerCase() == "body" || capturingElement.nodeName.toLowerCase() == "document"))) { window.pbreason = "Blocked a new window opened with URL: " + openWndArguments[0] + " because it was triggered by the " + capturingElement.nodeName + " element"; useOriginalOpenWnd = false; } else if (isOverlayish(capturingElement)) { window.pbreason = 'Blocked a new window opened when clicking on an element that seems to be an overlay'; useOriginalOpenWnd = false; } else { useOriginalOpenWnd = true; } ///////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////// // Block if a full screen was just initiated while opening this url. ///////////////////////////////////////////////////////////////////////////////// var fullScreenElement = document.webkitFullscreenElement || document.mozFullscreenElement || document.fullscreenElement; if (new Date().getTime() - fullScreenOpenTime elements with click dispatching event ////////////////////////////////////////////////////////////////////////////////////////////////////////// HTMLElement.prototype.appendChild = function () { var newElement = originalAppendChildFn.apply(this, arguments); if (newElement.nodeName == 'IFRAME' && newElement.contentWindow) { try { var code = "(function () {\n var pb_blacklist = " + JSON.stringify(pb_blacklist) + ";\n var pb_whitelist = " + JSON.stringify(pb_whitelist) + ";\n " + inject.toString() + ";\n inject();\n })();"; var s = document.createElement('script');s.text = code; newElement.contentWindow.document.body.appendChild(s); } catch (e) {} } return newElement; }; document.createElement = function () { var newElement = originalCreateElementFn.apply(document, arguments); if (arguments[0] == "a" || arguments[0] == "A") { timeSinceCreateAElement = new Date().getTime(); var originalDispatchEventFn = newElement.dispatchEvent; newElement.dispatchEvent = function (event) { if (event.type != null && ("" + event.type).toLocaleLowerCase() == "click") { if (!isInWhitelist(newElement.href)) { window.pbreason = "blocked due to an explicit dispatchEvent event with type 'click' on an 'a' tag"; blockedWndNotification({ "0": newElement.href }); return true; } } return originalDispatchEventFn.call(this, event); }; lastCreatedAElement = newElement; } return newElement; }; ///////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////// // Block artificial mouse click on frashly created elements ///////////////////////////////////////////////////////////////////////////////// document.createEvent = function () { try { if (arguments[0].toLowerCase().includes("mouse") && new Date().getTime() - timeSinceCreateAElement