title
13.1 Strings and Drawing Text - Processing Tutorial

description
Book: Learning Processing A Beginner's Guide to Programming, Images,Animation, and Interaction Chapter: 17 Official book website: http://learningprocessing.com/ Twitter: https://twitter.com/shiffman This video covers the basics of working with Strings and drawing text to the screen in Processing. Help us caption & translate this video! http://amara.org/v/Qbwp/ 📄 Code of Conduct: https://github.com/CodingTrain/Code-of-Conduct

detail
{'title': '13.1 Strings and Drawing Text - Processing Tutorial', 'heatmap': [{'end': 605.768, 'start': 553.226, 'weight': 0.709}, {'end': 782.641, 'start': 719.065, 'weight': 0.863}, {'end': 821.875, 'start': 797.074, 'weight': 0.857}, {'end': 899.564, 'start': 861.772, 'weight': 1}], 'summary': 'The tutorial covers data processing with strings in processing, including text manipulation, visualization, and object-oriented programming, as well as various methods for string manipulation, creative text manipulation, using system fonts, and working with data, providing insights and examples for practical application and further exploration.', 'chapters': [{'end': 365.114, 'segs': [{'end': 47.585, 'src': 'embed', 'start': 2.466, 'weight': 1, 'content': [{'end': 3.006, 'text': 'Hello again.', 'start': 2.466, 'duration': 0.54}, {'end': 4.988, 'text': "How are you? I hope you're doing well.", 'start': 3.026, 'duration': 1.962}, {'end': 6.449, 'text': "I'm doing OK.", 'start': 5.729, 'duration': 0.72}, {'end': 10.392, 'text': "I'm actually feeling a little stressed out, but I'm going to go forward with this video anyway.", 'start': 6.469, 'duration': 3.923}, {'end': 12.234, 'text': "So I'm starting a new series.", 'start': 10.473, 'duration': 1.761}, {'end': 17.798, 'text': 'This series of videos is going to be about using data in processing.', 'start': 13.015, 'duration': 4.783}, {'end': 20.02, 'text': "So we'll look at a lot of things.", 'start': 18.599, 'duration': 1.421}, {'end': 21.442, 'text': 'Where do we find data??', 'start': 20.301, 'duration': 1.141}, {'end': 22.423, 'text': 'How do we get data?', 'start': 21.482, 'duration': 0.941}, {'end': 25.245, 'text': "What if the data's from a file or from a URL?", 'start': 22.443, 'duration': 2.802}, {'end': 26.467, 'text': 'Or how do I chop it up?', 'start': 25.265, 'duration': 1.202}, {'end': 27.648, 'text': 'Or how do I sort it?', 'start': 26.507, 'duration': 1.141}, {'end': 29.009, 'text': "There's lots and lots.", 'start': 28.008, 'duration': 1.001}, {'end': 35.095, 'text': "What format is it in? What's an API? There's so many things to talk about and cover here in this set of videos.", 'start': 29.55, 'duration': 5.545}, {'end': 42.842, 'text': 'But before we can do any of that, the foundation, the building block, the thing that we need to be comfortable with and happy with,', 'start': 35.175, 'duration': 7.667}, {'end': 47.585, 'text': 'and just feeling good about our day with, is this idea of a string.', 'start': 42.842, 'duration': 4.743}], 'summary': 'Starting new series on data processing, covering various aspects like data sources, formats, and apis, with a focus on understanding strings.', 'duration': 45.119, 'max_score': 2.466, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/NLzne4XaR3M/pics/NLzne4XaR3M2466.jpg'}, {'end': 85.874, 'src': 'embed', 'start': 63.816, 'weight': 0, 'content': [{'end': 74.086, 'text': 'Maybe we had something on a hard drive called a file dot JPEG, and it was some characters, and it was in between quotes.', 'start': 63.816, 'duration': 10.27}, {'end': 75.046, 'text': 'This is a string.', 'start': 74.306, 'duration': 0.74}, {'end': 79.309, 'text': 'A string is a sequence of characters in between quotes.', 'start': 75.146, 'duration': 4.163}, {'end': 83.652, 'text': 'Now, I mean, actually, the in between quotes part is just the way that we declare a string.', 'start': 79.93, 'duration': 3.722}, {'end': 85.874, 'text': 'The string itself is just this sequence of characters.', 'start': 83.692, 'duration': 2.182}], 'summary': 'Introduction to strings as sequences of characters in programming.', 'duration': 22.058, 'max_score': 63.816, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/NLzne4XaR3M/pics/NLzne4XaR3M63816.jpg'}, {'end': 343.366, 'src': 'embed', 'start': 308.562, 'weight': 4, 'content': [{'end': 309.423, 'text': 'There it is on the screen.', 'start': 308.562, 'duration': 0.861}, {'end': 311.444, 'text': 'But I want a little thought experiment here.', 'start': 309.643, 'duration': 1.801}, {'end': 315.308, 'text': 'What if I were to color each one of these characters with a different color?', 'start': 311.545, 'duration': 3.763}, {'end': 319.57, 'text': 'What if I were to draw each character at a different size?', 'start': 315.988, 'duration': 3.582}, {'end': 325.494, 'text': 'What if I were to animate that string so that it moves around the screen like a snake or wraps itself around on a curb?', 'start': 319.63, 'duration': 5.864}, {'end': 330.317, 'text': 'What if I want to visualize text in a more flexible and dynamic animated way?', 'start': 325.834, 'duration': 4.483}, {'end': 333.559, 'text': 'Now, I just said the point of all this is not about drawing text.', 'start': 330.578, 'duration': 2.981}, {'end': 336.261, 'text': "It's about working with text as data.", 'start': 333.86, 'duration': 2.401}, {'end': 343.366, 'text': "But actually, manipulating the way we draw this text will actually help unlock some of the clues to how we're going to work with text as data.", 'start': 336.661, 'duration': 6.705}], 'summary': 'Exploring visual manipulation of text for dynamic data representation.', 'duration': 34.804, 'max_score': 308.562, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/NLzne4XaR3M/pics/NLzne4XaR3M308562.jpg'}, {'end': 368.295, 'src': 'embed', 'start': 343.727, 'weight': 3, 'content': [{'end': 352.051, 'text': 'So, how do we figure out, like, well this is a string, this string, This string over here is a data type.', 'start': 343.727, 'duration': 8.324}, {'end': 354.771, 'text': "And in fact, it's capital S, which means it's an object.", 'start': 352.331, 'duration': 2.44}, {'end': 357.892, 'text': 'An int is a primitive data type, like just a number.', 'start': 355.272, 'duration': 2.62}, {'end': 359.112, 'text': 'A float is just a number.', 'start': 357.912, 'duration': 1.2}, {'end': 361.413, 'text': 'A p image is an object, an image.', 'start': 359.493, 'duration': 1.92}, {'end': 362.153, 'text': "It's got pixels.", 'start': 361.473, 'duration': 0.68}, {'end': 362.693, 'text': "It's got width.", 'start': 362.213, 'duration': 0.48}, {'end': 363.253, 'text': "It's got height.", 'start': 362.773, 'duration': 0.48}, {'end': 365.114, 'text': 'A string also has a lot of stuff.', 'start': 363.554, 'duration': 1.56}, {'end': 368.295, 'text': "It's got this sequence of characters.", 'start': 365.154, 'duration': 3.141}], 'summary': 'Various data types, like string, int, float, and image, have different properties and uses.', 'duration': 24.568, 'max_score': 343.727, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/NLzne4XaR3M/pics/NLzne4XaR3M343727.jpg'}], 'start': 2.466, 'title': 'Processing text data', 'summary': 'Covers data processing with strings, emphasizing their importance and demonstrating drawing and formatting in a processing window. it also explores text manipulation and visualization, including changing fonts, colors, sizes, and animation, and introduces object-oriented programming for working with text as data.', 'chapters': [{'end': 232.888, 'start': 2.466, 'title': 'Data processing with strings', 'summary': 'Introduces a new series on using data in processing, emphasizing the importance of understanding and working with strings as a foundational concept, and demonstrates drawing and formatting strings in a processing window.', 'duration': 230.422, 'highlights': ['The chapter emphasizes the importance of understanding and working with strings as a foundational concept in data processing. The speaker stresses the significance of being comfortable with the concept of a string as it forms the foundation for working with data in processing.', 'The chapter demonstrates drawing and formatting strings in a processing window, including setting text size and font. The speaker demonstrates drawing strings to the processing window and showcases the ability to set text size and font, highlighting the practical aspect of working with strings.', 'Introduction of a new series on using data in processing. The speaker introduces a new series of videos focused on using data in processing, covering topics such as finding and obtaining data, data formats, APIs, and data manipulation.']}, {'end': 365.114, 'start': 233.088, 'title': 'Text manipulation and visualization', 'summary': 'Explores manipulating and visualizing text in various ways, including changing fonts, colors, sizes, and animation to understand text as data, and introduces the concept of working with text as data through object-oriented programming.', 'duration': 132.026, 'highlights': ['The chapter introduces manipulating and visualizing text by experimenting with different fonts, colors, sizes, and animations to understand text as data.', 'It discusses the concept of working with text as data through object-oriented programming and highlights the properties of a string as an object data type.', 'The speaker emphasizes the importance of unlocking clues to working with text as data by manipulating the way text is drawn, such as changing colors, sizes, and animations.']}], 'duration': 362.648, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/NLzne4XaR3M/pics/NLzne4XaR3M2466.jpg', 'highlights': ['The chapter emphasizes the importance of understanding and working with strings as a foundational concept in data processing.', 'The chapter demonstrates drawing and formatting strings in a processing window, including setting text size and font.', 'The speaker introduces a new series of videos focused on using data in processing, covering topics such as finding and obtaining data, data formats, APIs, and data manipulation.', 'The chapter introduces manipulating and visualizing text by experimenting with different fonts, colors, sizes, and animations to understand text as data.', 'It discusses the concept of working with text as data through object-oriented programming and highlights the properties of a string as an object data type.', 'The speaker emphasizes the importance of unlocking clues to working with text as data by manipulating the way text is drawn, such as changing colors, sizes, and animations.']}, {'end': 643.362, 'segs': [{'end': 395.586, 'src': 'embed', 'start': 365.154, 'weight': 0, 'content': [{'end': 368.295, 'text': "It's got this sequence of characters.", 'start': 365.154, 'duration': 3.141}, {'end': 375.657, 'text': 'But there are lots of other functions that we can use, call upon this object to manipulate and work with this string.', 'start': 368.635, 'duration': 7.022}, {'end': 377.037, 'text': 'Car at.', 'start': 376.197, 'duration': 0.84}, {'end': 387.971, 'text': 'length index of substring to lowercase.', 'start': 378.412, 'duration': 9.559}, {'end': 395.586, 'text': 'There are lots and lots of methods that we can call to manipulate and play with these strings,', 'start': 390.322, 'duration': 5.264}], 'summary': 'Introduction to string manipulation methods with multiple functions available for use.', 'duration': 30.432, 'max_score': 365.154, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/NLzne4XaR3M/pics/NLzne4XaR3M365154.jpg'}, {'end': 451.833, 'src': 'embed', 'start': 418.58, 'weight': 3, 'content': [{'end': 421.7, 'text': "And I'm going to say processing.org string.", 'start': 418.58, 'duration': 3.12}, {'end': 429.021, 'text': 'And that there is, in fact, a reference page for strings in processing.', 'start': 423.4, 'duration': 5.621}, {'end': 431.622, 'text': 'And we can see a lot of those methods I listed over there.', 'start': 429.061, 'duration': 2.561}, {'end': 432.582, 'text': 'Here they are here.', 'start': 431.942, 'duration': 0.64}, {'end': 433.742, 'text': "And there's some more information.", 'start': 432.702, 'duration': 1.04}, {'end': 434.342, 'text': 'You can click on them.', 'start': 433.762, 'duration': 0.58}, {'end': 435.082, 'text': "And there's examples.", 'start': 434.362, 'duration': 0.72}, {'end': 441.507, 'text': "I should point out, though, however, that I'm I'm back.", 'start': 435.443, 'duration': 6.064}, {'end': 445.089, 'text': "It's going to happen to the other camera soon in a second.", 'start': 442.968, 'duration': 2.121}, {'end': 451.833, 'text': 'I should point out that String really comes from Java.', 'start': 445.109, 'duration': 6.724}], 'summary': 'Processing.org has a reference page for strings with methods and examples. string in processing comes from java.', 'duration': 33.253, 'max_score': 418.58, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/NLzne4XaR3M/pics/NLzne4XaR3M418580.jpg'}, {'end': 643.362, 'src': 'heatmap', 'start': 553.226, 'weight': 1, 'content': [{'end': 568.012, 'text': "So, if I want to, come back, if I want to look at and draw simply, the first character, here we go, there's my T.", 'start': 553.226, 'duration': 14.786}, {'end': 574.276, 'text': "If I want to draw the fourth character, there's my B.", 'start': 568.012, 'duration': 6.264}, {'end': 576.358, 'text': 'So this works, carat works.', 'start': 574.276, 'duration': 2.082}, {'end': 578.5, 'text': 'Length, by the way, will give us the length of the string.', 'start': 576.638, 'duration': 1.862}, {'end': 581.882, 'text': "So let's say I want to go through all of the characters in the string.", 'start': 578.74, 'duration': 3.142}, {'end': 586.946, 'text': 'I can do this.', 'start': 585.845, 'duration': 1.101}, {'end': 590.157, 'text': "Now I'm going to draw every single character in the string.", 'start': 588.055, 'duration': 2.102}, {'end': 595.36, 'text': "Oh, look, they're all on top of each other right there, because I drew them all at the location 10, 300.", 'start': 590.257, 'duration': 5.103}, {'end': 603.527, 'text': "Now, before I go a little farther with this, there's a key piece of information here.", 'start': 595.361, 'duration': 8.166}, {'end': 605.768, 'text': 'The mouse arrow is right there at the end of length.', 'start': 603.567, 'duration': 2.201}, {'end': 606.349, 'text': 'Look at that.', 'start': 606.028, 'duration': 0.321}, {'end': 607.289, 'text': "That doesn't look.", 'start': 606.469, 'duration': 0.82}, {'end': 610.832, 'text': 'if you remember an array, come over here.', 'start': 607.289, 'duration': 3.543}, {'end': 620.049, 'text': 'if I had an array, I would say vals.length length being a property of the array.', 'start': 610.832, 'duration': 9.217}, {'end': 622.43, 'text': 'that gives me the length of that array 5..', 'start': 620.049, 'duration': 2.381}, {'end': 624.99, 'text': "I'm coming back over here.", 'start': 622.43, 'duration': 2.56}, {'end': 625.69, 'text': 'Look at that.', 'start': 625.31, 'duration': 0.38}, {'end': 627.051, 'text': 'Length has parentheses.', 'start': 625.77, 'duration': 1.281}, {'end': 630.612, 'text': 'Length is a function, a method of the string object.', 'start': 627.591, 'duration': 3.021}, {'end': 633.852, 'text': "So even though it's very similar, this is an easy thing that you're going to get tripped up on.", 'start': 630.652, 'duration': 3.2}, {'end': 637.733, 'text': "Even though it looks just like the length of an array, it's actually a function that has to be executed.", 'start': 633.892, 'duration': 3.841}, {'end': 640.274, 'text': 'It needs open and close parentheses for it to be called.', 'start': 637.753, 'duration': 2.521}, {'end': 643.362, 'text': "So let's say we want to space these out.", 'start': 641.621, 'duration': 1.741}], 'summary': 'Demonstration of accessing characters and length in a string.', 'duration': 48.001, 'max_score': 553.226, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/NLzne4XaR3M/pics/NLzne4XaR3M553226.jpg'}], 'start': 365.154, 'title': 'String manipulation in processing', 'summary': 'Covers various methods for manipulating strings in processing, including accessing a reference page and examples. it introduces charat and length functions, highlighting their usage and distinction, with emphasis on extensive java documentation for further exploration.', 'chapters': [{'end': 487.407, 'start': 365.154, 'title': 'Manipulating strings in processing', 'summary': 'Explores the various methods available for manipulating strings in processing, including how to access a reference page, with examples, and emphasizes the availability of extensive java documentation for further exploration.', 'duration': 122.253, 'highlights': ['The chapter delves into the numerous methods for manipulating strings in Processing, with a focus on accessing a reference page and examples for understanding the available functions.', 'The speaker mentions the availability of extensive Java documentation for string manipulation in Processing, emphasizing the access to a wide array of string-related functionalities from Java.', "The transcript briefly mentions the speaker's discomfort with the Java documentation's verbosity and complexity, hinting at the potential challenges of parsing and understanding the information available.", 'The speaker references the processing.org string reference page as a valuable resource for exploring the methods available for string manipulation in Processing.']}, {'end': 643.362, 'start': 487.407, 'title': 'String manipulation functions', 'summary': 'Introduces charat and length functions, explaining how charat retrieves individual characters at a specified index and length returns the length of the string, reminiscent of accessing elements in an array by index, with emphasis on the distinction between length as a property of an array and a method of the string object.', 'duration': 155.955, 'highlights': ['charAt retrieves individual characters at a specified index, similar to accessing elements in an array by index. Demonstrates how charAt can be used to access individual characters in a string, akin to accessing elements in an array by index.', 'Explains the concept of length in a string and its resemblance to the length property of an array, emphasizing the distinction between length as a property of an array and a method of the string object. Emphasizes the distinction between length as a property of an array and a method of the string object, highlighting the need for open and close parentheses to execute length as a function of the string object.']}], 'duration': 278.208, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/NLzne4XaR3M/pics/NLzne4XaR3M365154.jpg', 'highlights': ['The chapter delves into the numerous methods for manipulating strings in Processing, with a focus on accessing a reference page and examples for understanding the available functions.', 'The speaker mentions the availability of extensive Java documentation for string manipulation in Processing, emphasizing the access to a wide array of string-related functionalities from Java.', 'Explains the concept of length in a string and its resemblance to the length property of an array, emphasizing the distinction between length as a property of an array and a method of the string object.', 'The speaker references the processing.org string reference page as a valuable resource for exploring the methods available for string manipulation in Processing.']}, {'end': 896.24, 'segs': [{'end': 698.731, 'src': 'embed', 'start': 676.111, 'weight': 3, 'content': [{'end': 684.995, 'text': "The actual spacing, I don't know, you who know about these things like typography, that has a term like letting or kerning or something like that.", 'start': 676.111, 'duration': 8.884}, {'end': 686.136, 'text': "You know, there's all these nice terms.", 'start': 685.015, 'duration': 1.121}, {'end': 687.157, 'text': "I don't know about any of that stuff.", 'start': 686.176, 'duration': 0.981}, {'end': 692.563, 'text': 'These characters are, this is obviously not right.', 'start': 689.379, 'duration': 3.184}, {'end': 694.706, 'text': "So there's gotta be a way around this.", 'start': 692.983, 'duration': 1.723}, {'end': 698.731, 'text': 'And in fact, in processing, there is a function called textWidth.', 'start': 695.026, 'duration': 3.705}], 'summary': 'Discussion about typography and textwidth function in processing.', 'duration': 22.62, 'max_score': 676.111, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/NLzne4XaR3M/pics/NLzne4XaR3M676111.jpg'}, {'end': 782.641, 'src': 'heatmap', 'start': 719.065, 'weight': 0.863, 'content': [{'end': 725.369, 'text': "So I'm going to just add something here by putting each character in a separate variable.", 'start': 719.065, 'duration': 6.304}, {'end': 732.617, 'text': 'And by the way, the car data type, which is a primitive type, is a data type for an individual character.', 'start': 727.353, 'duration': 5.264}, {'end': 736.42, 'text': "So I'm looking at every single character in this string, which is a sequence of characters.", 'start': 732.657, 'duration': 3.763}, {'end': 743.345, 'text': "I'm going to draw that character, and then I'm going to move by the text width of that character.", 'start': 738.682, 'duration': 4.663}, {'end': 747.829, 'text': 'And look, now the string looks just like the one above.', 'start': 744.927, 'duration': 2.902}, {'end': 755.735, 'text': 'Now we can start to do things like say, hey, give me a random fill.', 'start': 748.429, 'duration': 7.306}, {'end': 763.315, 'text': 'Now we have a random color for each character, which we would not be able to do by drawing the text all at once.', 'start': 759.113, 'duration': 4.202}, {'end': 774.073, 'text': "And now we also, I could do something like I'm going to actually change this and just say text size random 12 to 128.", 'start': 764.376, 'duration': 9.697}, {'end': 782.641, 'text': 'This, I think, illustrates the point even better, that now each character is a different size, but yet the layout is still correct.', 'start': 774.073, 'duration': 8.568}], 'summary': 'Individual characters drawn with random colors and sizes, text layout remains correct.', 'duration': 63.576, 'max_score': 719.065, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/NLzne4XaR3M/pics/NLzne4XaR3M719065.jpg'}, {'end': 821.875, 'src': 'heatmap', 'start': 797.074, 'weight': 0.857, 'content': [{'end': 802.859, 'text': "If you're following along with the learning processing I'm going to go here to chapter 7.", 'start': 797.074, 'duration': 5.785}, {'end': 805.361, 'text': "There's a couple that I'll just show you to open up.", 'start': 802.859, 'duration': 2.502}, {'end': 810.95, 'text': 'So example 17.8.', 'start': 805.401, 'duration': 5.549}, {'end': 812.771, 'text': 'This is drawing the text along the curve.', 'start': 810.95, 'duration': 1.821}, {'end': 815.052, 'text': 'This is a pretty high degree of difficulty problem.', 'start': 812.811, 'duration': 2.241}, {'end': 821.875, 'text': 'But what you could think to yourself is actually could I figure out how to draw a set of rectangles along a curve?', 'start': 815.512, 'duration': 6.363}], 'summary': 'Chapter 7 of learning processing includes drawing text along a curve and the challenge of drawing rectangles along a curve.', 'duration': 24.801, 'max_score': 797.074, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/NLzne4XaR3M/pics/NLzne4XaR3M797074.jpg'}, {'end': 905.65, 'src': 'embed', 'start': 879.544, 'weight': 0, 'content': [{'end': 884.429, 'text': "Each one of these characters is individually placed There's actually an object like a particle object for each one.", 'start': 879.544, 'duration': 4.885}, {'end': 886.351, 'text': 'It retains its own location.', 'start': 884.689, 'duration': 1.662}, {'end': 894.178, 'text': 'It retains up rotation information and as I click the mouse, you can see they start to move around randomly and then, if I let go of the mouse,', 'start': 886.351, 'duration': 7.827}, {'end': 896.24, 'text': "they're going to slowly come back to their original location.", 'start': 894.178, 'duration': 2.062}, {'end': 899.564, 'text': 'and So these are the kind of ideas and experiments you could play with.', 'start': 896.24, 'duration': 3.324}, {'end': 903.348, 'text': "I didn't really go too far into actually the font stuff.", 'start': 900.405, 'duration': 2.943}, {'end': 905.65, 'text': 'I was very much skipping over that.', 'start': 903.408, 'duration': 2.242}], 'summary': 'Interactive objects move randomly and return to original position when the mouse is clicked and released.', 'duration': 26.106, 'max_score': 879.544, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/NLzne4XaR3M/pics/NLzne4XaR3M879544.jpg'}], 'start': 644.063, 'title': 'Text and creative text manipulation', 'summary': 'Discusses using the textwidth function for spacing characters and creative text manipulation in processing, including color randomization, size variation, text curve drawing, and particle object usage.', 'chapters': [{'end': 747.829, 'start': 644.063, 'title': 'Text spacing and character drawing', 'summary': 'Discusses using the textwidth function in processing to dynamically calculate the width of characters and space them accordingly while drawing, resulting in a properly spaced string of characters.', 'duration': 103.766, 'highlights': ['The textWidth function in processing allows dynamically calculating the width of characters being drawn in the window, enabling precise spacing between characters.', 'Using the textWidth function to space characters while drawing resulted in a properly spaced string of characters, resolving the issue of uneven spacing and creating a visually improved output.', 'Utilizing separate variables for each character and moving by the text width of the character ensures precise spacing, enhancing the appearance of the string of characters.', 'The car data type, a primitive type for an individual character, is used to analyze and draw each character in the string, contributing to achieving the desired visual output.']}, {'end': 896.24, 'start': 748.429, 'title': 'Creative text manipulation in processing', 'summary': "Illustrates creative text manipulation in processing, including randomizing color and size, drawing text along a curve, and using particle objects for individual characters' placement and movement.", 'duration': 147.811, 'highlights': ['The chapter demonstrates randomizing color and size of text, showcasing a different color for each character and varying text size from 12 to 128.', 'The chapter presents drawing text along a curve, highlighting the possibility of placing each character within a set of rectangles along the curve.', 'The chapter introduces the usage of particle objects for text manipulation, showing individual placement and movement of characters, including retaining location and rotation information.']}], 'duration': 252.177, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/NLzne4XaR3M/pics/NLzne4XaR3M644063.jpg', 'highlights': ['The textWidth function in processing allows dynamically calculating the width of characters being drawn in the window, enabling precise spacing between characters.', 'Using the textWidth function to space characters while drawing resulted in a properly spaced string of characters, resolving the issue of uneven spacing and creating a visually improved output.', 'Utilizing separate variables for each character and moving by the text width of the character ensures precise spacing, enhancing the appearance of the string of characters.', 'The car data type, a primitive type for an individual character, is used to analyze and draw each character in the string, contributing to achieving the desired visual output.', 'The chapter demonstrates randomizing color and size of text, showcasing a different color for each character and varying text size from 12 to 128.', 'The chapter presents drawing text along a curve, highlighting the possibility of placing each character within a set of rectangles along the curve.', 'The chapter introduces the usage of particle objects for text manipulation, showing individual placement and movement of characters, including retaining location and rotation information.']}, {'end': 1077.627, 'segs': [{'end': 940.52, 'src': 'embed', 'start': 920.205, 'weight': 0, 'content': [{'end': 929.93, 'text': 'And I could actually look at what all those possible system fonts are by saying pfont List, and this will.', 'start': 920.205, 'duration': 9.725}, {'end': 934.715, 'text': 'this will dynamically pull up a list of all the fonts that are installed in the system, and I could you know.', 'start': 929.93, 'duration': 4.785}, {'end': 940.52, 'text': "I could just like pick one of these out and Put it in here and run this again, and we're gonna see.", 'start': 934.715, 'duration': 5.805}], 'summary': "Using 'pfont list' dynamically displays all installed system fonts.", 'duration': 20.315, 'max_score': 920.205, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/NLzne4XaR3M/pics/NLzne4XaR3M920205.jpg'}, {'end': 1053.93, 'src': 'embed', 'start': 1021.135, 'weight': 3, 'content': [{'end': 1024.337, 'text': "How do I split it up? It's all these numbers separated by commas.", 'start': 1021.135, 'duration': 3.202}, {'end': 1027.558, 'text': "How do I split those up? It's a novel with a lot of words in it.", 'start': 1024.436, 'duration': 3.122}, {'end': 1029.78, 'text': 'How do I split that up and count all the words in it?', 'start': 1027.779, 'duration': 2.001}, {'end': 1037.544, 'text': "So we're going to look at a few of these scenarios, and then we'll get even further to say, like oh well,", 'start': 1029.819, 'duration': 7.725}, {'end': 1041.806, 'text': "if the data is in a standardized format like XML or JSON, what's XML??", 'start': 1037.544, 'duration': 4.262}, {'end': 1042.766, 'text': "What's JSON?", 'start': 1041.945, 'duration': 0.821}, {'end': 1045.508, 'text': "We'll talk about all these things as we get from video to video.", 'start': 1043.207, 'duration': 2.301}, {'end': 1053.93, 'text': 'For now, though, I would suggest to you that the first thing you might start with is just hard code some data, numbers, characters as strings.', 'start': 1045.768, 'duration': 8.162}], 'summary': 'The transcript discusses splitting numbers and words, counting words, and using xml and json for data.', 'duration': 32.795, 'max_score': 1021.135, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/NLzne4XaR3M/pics/NLzne4XaR3M1021135.jpg'}, {'end': 1077.627, 'src': 'embed', 'start': 1066.212, 'weight': 2, 'content': [{'end': 1072.113, 'text': 'So many things you could think of in terms of just playing with strings and drawing and processing.', 'start': 1066.212, 'duration': 5.901}, {'end': 1075.054, 'text': "OK, so the next video, we're going to look at split and join.", 'start': 1072.333, 'duration': 2.721}, {'end': 1077.627, 'text': 'And I have to stop this now somehow.', 'start': 1076.181, 'duration': 1.446}], 'summary': 'Learning about split and join for string manipulation.', 'duration': 11.415, 'max_score': 1066.212, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/NLzne4XaR3M/pics/NLzne4XaR3M1066212.jpg'}], 'start': 896.24, 'title': 'Using system fonts and working with data in processing', 'summary': 'Explores using system fonts in processing, including dynamically listing available fonts and rendering fonts as shape data. it also covers working with data and strings, utilizing split and join functions to manipulate strings and encouraging hands-on experimentation with hard-coded data and visualization.', 'chapters': [{'end': 974.916, 'start': 896.24, 'title': 'Using system fonts in processing', 'summary': 'Explores how to use system fonts in processing, including dynamically listing all available fonts and the benefits of rendering fonts as shape data, ensuring they scale nicely at any size.', 'duration': 78.676, 'highlights': ['The create font function in Processing allows access to system fonts, and using pfont List dynamically lists all available fonts on the system, providing flexibility in choosing fonts for rendering.', 'Rendering fonts as shape data in Processing ensures that they can be scaled without pixelation or distortion, providing a smooth appearance at any size.']}, {'end': 1077.627, 'start': 975.837, 'title': 'Working with data and strings', 'summary': 'Covers the usage of split and join functions in processing to manipulate strings, preparing to delve into more advanced topics such as xml and json, while also encouraging hands-on experimentation with hard-coded data and visualization.', 'duration': 101.79, 'highlights': ['The chapter emphasizes the functions split and join as key components of working with data and strings, enabling tasks such as splitting numbers and words from a string and counting them.', 'Encourages hands-on experimentation with hard-coded data, characters as strings, and visualization through drawing and processing.', 'Prepares for advanced topics like XML and JSON, introducing the concept and hinting at future discussions in subsequent videos.']}], 'duration': 181.387, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/NLzne4XaR3M/pics/NLzne4XaR3M896240.jpg', 'highlights': ['The create font function in Processing allows access to system fonts, and using pfont List dynamically lists all available fonts on the system, providing flexibility in choosing fonts for rendering.', 'Rendering fonts as shape data in Processing ensures that they can be scaled without pixelation or distortion, providing a smooth appearance at any size.', 'The chapter emphasizes the functions split and join as key components of working with data and strings, enabling tasks such as splitting numbers and words from a string and counting them.', 'Encourages hands-on experimentation with hard-coded data, characters as strings, and visualization through drawing and processing.', 'Prepares for advanced topics like XML and JSON, introducing the concept and hinting at future discussions in subsequent videos.']}], 'highlights': ['The tutorial emphasizes the importance of understanding and working with strings as a foundational concept in data processing.', 'The chapter delves into the numerous methods for manipulating strings in Processing, with a focus on accessing a reference page and examples for understanding the available functions.', 'The textWidth function in processing allows dynamically calculating the width of characters being drawn in the window, enabling precise spacing between characters.', 'The create font function in Processing allows access to system fonts, and using pfont List dynamically lists all available fonts on the system, providing flexibility in choosing fonts for rendering.']}